r370: Heroine Virutal's official release 1.2.1
[cinelerra_cv/mob.git] / hvirtual / plugins / rotate / rotate.h
blob11c520bf71bd5ee94f45efe1807af355f4e7dcd8
1 #ifndef ROTATE_H
2 #define ROTATE_H
5 #include "defaults.inc"
6 #include "guicast.h"
7 #include "mutex.h"
8 #include "pluginvclient.h"
9 #include "rotateframe.inc"
10 #include "vframe.inc"
16 class RotateMain;
17 class RotateWindow;
19 #define MAXANGLE 360
23 class RotateConfig
25 public:
26 RotateConfig();
28 int equivalent(RotateConfig &that);
29 void copy_from(RotateConfig &that);
31 float angle;
34 class RotateToggle : public BC_Radial
36 public:
37 RotateToggle(RotateWindow *window,
38 RotateMain *plugin,
39 int init_value,
40 int x,
41 int y,
42 int value,
43 char *string);
44 int handle_event();
46 RotateMain *plugin;
47 RotateWindow *window;
48 int value;
51 class RotateFine : public BC_FPot
53 public:
54 RotateFine(RotateWindow *window, RotateMain *plugin, int x, int y);
55 int handle_event();
57 RotateMain *plugin;
58 RotateWindow *window;
61 class RotateText : public BC_TextBox
63 public:
64 RotateText(RotateWindow *window, RotateMain *plugin, int x, int y);
65 int handle_event();
67 RotateMain *plugin;
68 RotateWindow *window;
71 class RotateWindow : public BC_Window
73 public:
74 RotateWindow(RotateMain *plugin, int x, int y);
76 int create_objects();
77 int close_event();
78 int update();
79 int update_fine();
80 int update_toggles();
82 RotateMain *plugin;
83 RotateToggle *toggle0;
84 RotateToggle *toggle90;
85 RotateToggle *toggle180;
86 RotateToggle *toggle270;
87 RotateFine *fine;
88 RotateText *text;
91 class RotateThread : public Thread
93 public:
94 RotateThread(RotateMain *plugin);
95 ~RotateThread();
97 void run();
99 Mutex completion; // prevent loading data until the GUI is started
100 RotateMain *plugin;
101 RotateWindow *window;
105 class RotateMain : public PluginVClient
107 public:
108 RotateMain(PluginServer *server);
109 ~RotateMain();
117 int process_realtime(VFrame *input_ptr, VFrame *output_ptr);
118 int is_realtime();
119 char* plugin_title();
120 VFrame* new_picon();
121 int show_gui();
122 void raise_window();
123 void update_gui();
124 int set_string();
125 void load_configuration();
126 int load_defaults();
127 int save_defaults();
128 void save_data(KeyFrame *keyframe);
129 void read_data(KeyFrame *keyframe);
137 void reset();
145 RotateConfig config;
146 RotateFrame *engine;
147 RotateThread *thread;
148 Defaults *defaults;
149 int need_reconfigure;
153 #endif