4 * Copyright (C) 2008 Adam Williams <broadcast at earthling dot net>
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
16 * You should have received a copy of the GNU General Public License
17 * along with this program; if not, write to the Free Software
18 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
29 class MasterLayer : public BC_PopupMenu
32 MasterLayer(MotionCVMain *plugin, MotionCVWindow *gui, int x, int y);
34 void create_objects();
35 static int calculate_w(MotionCVWindow *gui);
36 static int from_text(char *text);
37 static const char* to_text(int mode);
42 class Mode1 : public BC_PopupMenu
45 Mode1(MotionCVMain *plugin, MotionCVWindow *gui, int x, int y);
47 void create_objects();
48 static int calculate_w(MotionCVWindow *gui);
49 static int from_text(char *text);
50 static const char* to_text(int mode);
55 class Mode2 : public BC_PopupMenu
58 Mode2(MotionCVMain *plugin, MotionCVWindow *gui, int x, int y);
60 void create_objects();
61 static int calculate_w(MotionCVWindow *gui);
62 static int from_text(char *text);
63 static const char* to_text(int mode);
68 class Mode3 : public BC_PopupMenu
71 Mode3(MotionCVMain *plugin, MotionCVWindow *gui, int x, int y);
73 void create_objects();
74 static int calculate_w(MotionCVWindow *gui);
75 static void from_text(int *horizontal_only, int *vertical_only, char *text);
76 static const char* to_text(int horizontal_only, int vertical_only);
82 class TrackSingleFrame : public BC_Radial
85 TrackSingleFrame(MotionCVMain *plugin,
94 class TrackFrameNumber : public BC_TextBox
97 TrackFrameNumber(MotionCVMain *plugin,
102 MotionCVMain *plugin;
106 class TrackPreviousFrame : public BC_Radial
109 TrackPreviousFrame(MotionCVMain *plugin,
114 MotionCVMain *plugin;
118 class PreviousFrameSameBlock : public BC_Radial
121 PreviousFrameSameBlock(MotionCVMain *plugin,
126 MotionCVMain *plugin;
130 class GlobalRange : public BC_IPot
133 GlobalRange(MotionCVMain *plugin,
138 MotionCVMain *plugin;
142 class RotationRange : public BC_IPot
145 RotationRange(MotionCVMain *plugin,
149 MotionCVMain *plugin;
152 class BlockSize : public BC_IPot
155 BlockSize(MotionCVMain *plugin,
160 MotionCVMain *plugin;
164 class MotionCVBlockX : public BC_FPot
167 MotionCVBlockX(MotionCVMain *plugin,
173 MotionCVMain *plugin;
176 class MotionCVBlockY : public BC_FPot
179 MotionCVBlockY(MotionCVMain *plugin,
185 MotionCVMain *plugin;
188 class MotionCVBlockXText : public BC_TextBox
191 MotionCVBlockXText(MotionCVMain *plugin,
197 MotionCVMain *plugin;
200 class MotionCVBlockYText : public BC_TextBox
203 MotionCVBlockYText(MotionCVMain *plugin,
209 MotionCVMain *plugin;
212 class GlobalSearchPositions : public BC_PopupMenu
215 GlobalSearchPositions(MotionCVMain *plugin,
219 void create_objects();
221 MotionCVMain *plugin;
224 class RotationSearchPositions : public BC_PopupMenu
227 RotationSearchPositions(MotionCVMain *plugin,
231 void create_objects();
233 MotionCVMain *plugin;
236 class MotionCVMagnitude : public BC_IPot
239 MotionCVMagnitude(MotionCVMain *plugin,
243 MotionCVMain *plugin;
246 class MotionCVReturnSpeed : public BC_IPot
249 MotionCVReturnSpeed(MotionCVMain *plugin,
253 MotionCVMain *plugin;
258 class MotionCVDrawVectors : public BC_CheckBox
261 MotionCVDrawVectors(MotionCVMain *plugin,
266 MotionCVMain *plugin;
270 class AddTrackedFrameOffset : public BC_CheckBox
273 AddTrackedFrameOffset(MotionCVMain *plugin,
279 MotionCVMain *plugin;
282 class MotionCVTrackingFile : public BC_TextBox
285 MotionCVTrackingFile(MotionCVMain *plugin, const char *filename,
286 MotionCVWindow *gui, int x, int y);
288 MotionCVMain *plugin;
292 class MotionCVGlobal : public BC_CheckBox
295 MotionCVGlobal(MotionCVMain *plugin,
301 MotionCVMain *plugin;
304 class MotionCVRotate : public BC_CheckBox
307 MotionCVRotate(MotionCVMain *plugin,
313 MotionCVMain *plugin;
318 class MotionCVWindow : public PluginClientWindow
321 MotionCVWindow(MotionCVMain *plugin);
324 void create_objects();
326 char* get_radius_title();
328 GlobalRange *global_range_w;
329 GlobalRange *global_range_h;
330 RotationRange *rotation_range;
331 BlockSize *global_block_w;
332 BlockSize *global_block_h;
333 BlockSize *rotation_block_w;
334 BlockSize *rotation_block_h;
335 MotionCVBlockX *block_x;
336 MotionCVBlockY *block_y;
337 MotionCVBlockXText *block_x_text;
338 MotionCVBlockYText *block_y_text;
339 GlobalSearchPositions *global_search_positions;
340 RotationSearchPositions *rotation_search_positions;
341 MotionCVMagnitude *magnitude;
342 MotionCVReturnSpeed *return_speed;
344 MotionCVDrawVectors *vectors;
345 MotionCVTrackingFile *tracking_file;
346 MotionCVGlobal *global;
347 MotionCVRotate *rotate;
348 AddTrackedFrameOffset *addtrackedframeoffset;
349 TrackSingleFrame *track_single;
350 TrackFrameNumber *track_frame_number;
351 TrackPreviousFrame *track_previous;
352 PreviousFrameSameBlock *previous_same;
353 MasterLayer *master_layer;
358 MotionCVMain *plugin;