Fixed initialisation of tf in file_open(). Without setting the memory to 0,
[cinelerra_cv/mob.git] / plugins / motion / motionwindow.h
blob546f8fc536ff59759183eac948a6cdc138c21685
1 #include "guicast.h"
2 #include "motion.inc"
4 class MasterLayer : public BC_PopupMenu
6 public:
7 MasterLayer(MotionMain *plugin, MotionWindow *gui, int x, int y);
8 int handle_event();
9 void create_objects();
10 static int calculate_w(MotionWindow *gui);
11 static int from_text(char *text);
12 static char* to_text(int mode);
13 MotionMain *plugin;
14 MotionWindow *gui;
17 class Mode1 : public BC_PopupMenu
19 public:
20 Mode1(MotionMain *plugin, MotionWindow *gui, int x, int y);
21 int handle_event();
22 void create_objects();
23 static int calculate_w(MotionWindow *gui);
24 static int from_text(char *text);
25 static char* to_text(int mode);
26 MotionMain *plugin;
27 MotionWindow *gui;
30 class Mode2 : public BC_PopupMenu
32 public:
33 Mode2(MotionMain *plugin, MotionWindow *gui, int x, int y);
34 int handle_event();
35 void create_objects();
36 static int calculate_w(MotionWindow *gui);
37 static int from_text(char *text);
38 static char* to_text(int mode);
39 MotionMain *plugin;
40 MotionWindow *gui;
43 class Mode3 : public BC_PopupMenu
45 public:
46 Mode3(MotionMain *plugin, MotionWindow *gui, int x, int y);
47 int handle_event();
48 void create_objects();
49 static int calculate_w(MotionWindow *gui);
50 static void from_text(int *horizontal_only, int *vertical_only, char *text);
51 static char* to_text(int horizontal_only, int vertical_only);
52 MotionMain *plugin;
53 MotionWindow *gui;
57 class TrackSingleFrame : public BC_Radial
59 public:
60 TrackSingleFrame(MotionMain *plugin,
61 MotionWindow *gui,
62 int x,
63 int y);
64 int handle_event();
65 MotionMain *plugin;
66 MotionWindow *gui;
69 class TrackFrameNumber : public BC_TextBox
71 public:
72 TrackFrameNumber(MotionMain *plugin,
73 MotionWindow *gui,
74 int x,
75 int y);
76 int handle_event();
77 MotionMain *plugin;
78 MotionWindow *gui;
81 class TrackPreviousFrame : public BC_Radial
83 public:
84 TrackPreviousFrame(MotionMain *plugin,
85 MotionWindow *gui,
86 int x,
87 int y);
88 int handle_event();
89 MotionMain *plugin;
90 MotionWindow *gui;
93 class PreviousFrameSameBlock : public BC_Radial
95 public:
96 PreviousFrameSameBlock(MotionMain *plugin,
97 MotionWindow *gui,
98 int x,
99 int y);
100 int handle_event();
101 MotionMain *plugin;
102 MotionWindow *gui;
105 class GlobalRange : public BC_IPot
107 public:
108 GlobalRange(MotionMain *plugin,
109 int x,
110 int y,
111 int *value);
112 int handle_event();
113 MotionMain *plugin;
114 int *value;
117 class RotationRange : public BC_IPot
119 public:
120 RotationRange(MotionMain *plugin,
121 int x,
122 int y);
123 int handle_event();
124 MotionMain *plugin;
127 class BlockSize : public BC_IPot
129 public:
130 BlockSize(MotionMain *plugin,
131 int x,
132 int y,
133 int *value);
134 int handle_event();
135 MotionMain *plugin;
136 int *value;
139 class MotionBlockX : public BC_FPot
141 public:
142 MotionBlockX(MotionMain *plugin,
143 MotionWindow *gui,
144 int x,
145 int y);
146 int handle_event();
147 MotionWindow *gui;
148 MotionMain *plugin;
151 class MotionBlockY : public BC_FPot
153 public:
154 MotionBlockY(MotionMain *plugin,
155 MotionWindow *gui,
156 int x,
157 int y);
158 int handle_event();
159 MotionWindow *gui;
160 MotionMain *plugin;
163 class MotionBlockXText : public BC_TextBox
165 public:
166 MotionBlockXText(MotionMain *plugin,
167 MotionWindow *gui,
168 int x,
169 int y);
170 int handle_event();
171 MotionWindow *gui;
172 MotionMain *plugin;
175 class MotionBlockYText : public BC_TextBox
177 public:
178 MotionBlockYText(MotionMain *plugin,
179 MotionWindow *gui,
180 int x,
181 int y);
182 int handle_event();
183 MotionWindow *gui;
184 MotionMain *plugin;
187 class GlobalSearchPositions : public BC_PopupMenu
189 public:
190 GlobalSearchPositions(MotionMain *plugin,
191 int x,
192 int y,
193 int w);
194 void create_objects();
195 int handle_event();
196 MotionMain *plugin;
199 class RotationSearchPositions : public BC_PopupMenu
201 public:
202 RotationSearchPositions(MotionMain *plugin,
203 int x,
204 int y,
205 int w);
206 void create_objects();
207 int handle_event();
208 MotionMain *plugin;
211 class MotionMagnitude : public BC_IPot
213 public:
214 MotionMagnitude(MotionMain *plugin,
215 int x,
216 int y);
217 int handle_event();
218 MotionMain *plugin;
221 class MotionReturnSpeed : public BC_IPot
223 public:
224 MotionReturnSpeed(MotionMain *plugin,
225 int x,
226 int y);
227 int handle_event();
228 MotionMain *plugin;
233 class MotionDrawVectors : public BC_CheckBox
235 public:
236 MotionDrawVectors(MotionMain *plugin,
237 MotionWindow *gui,
238 int x,
239 int y);
240 int handle_event();
241 MotionMain *plugin;
242 MotionWindow *gui;
246 class MotionGlobal : public BC_CheckBox
248 public:
249 MotionGlobal(MotionMain *plugin,
250 MotionWindow *gui,
251 int x,
252 int y);
253 int handle_event();
254 MotionWindow *gui;
255 MotionMain *plugin;
258 class MotionRotate : public BC_CheckBox
260 public:
261 MotionRotate(MotionMain *plugin,
262 MotionWindow *gui,
263 int x,
264 int y);
265 int handle_event();
266 MotionWindow *gui;
267 MotionMain *plugin;
272 class MotionWindow : public BC_Window
274 public:
275 MotionWindow(MotionMain *plugin, int x, int y);
276 ~MotionWindow();
278 int create_objects();
279 int close_event();
280 void update_mode();
281 char* get_radius_title();
283 GlobalRange *global_range_w;
284 GlobalRange *global_range_h;
285 RotationRange *rotation_range;
286 BlockSize *global_block_w;
287 BlockSize *global_block_h;
288 BlockSize *rotation_block_w;
289 BlockSize *rotation_block_h;
290 MotionBlockX *block_x;
291 MotionBlockY *block_y;
292 MotionBlockXText *block_x_text;
293 MotionBlockYText *block_y_text;
294 GlobalSearchPositions *global_search_positions;
295 RotationSearchPositions *rotation_search_positions;
296 MotionMagnitude *magnitude;
297 MotionReturnSpeed *return_speed;
298 Mode1 *mode1;
299 MotionDrawVectors *vectors;
300 MotionGlobal *global;
301 MotionRotate *rotate;
302 TrackSingleFrame *track_single;
303 TrackFrameNumber *track_frame_number;
304 TrackPreviousFrame *track_previous;
305 PreviousFrameSameBlock *previous_same;
306 MasterLayer *master_layer;
307 Mode2 *mode2;
308 Mode3 *mode3;
310 MotionMain *plugin;
315 PLUGIN_THREAD_HEADER(MotionMain, MotionThread, MotionWindow)