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
25 class MasterLayer : public BC_PopupMenu
28 MasterLayer(MotionMain *plugin, MotionWindow *gui, int x, int y);
30 void create_objects();
31 static int calculate_w(MotionWindow *gui);
32 static int from_text(char *text);
33 static char* to_text(int mode);
38 class ActionType : public BC_PopupMenu
41 ActionType(MotionMain *plugin, MotionWindow *gui, int x, int y);
43 void create_objects();
44 static int calculate_w(MotionWindow *gui);
45 static int from_text(char *text);
46 static char* to_text(int mode);
51 class TrackingType : public BC_PopupMenu
54 TrackingType(MotionMain *plugin, MotionWindow *gui, int x, int y);
56 void create_objects();
57 static int calculate_w(MotionWindow *gui);
58 static int from_text(char *text);
59 static char* to_text(int mode);
64 class TrackDirection : public BC_PopupMenu
67 TrackDirection(MotionMain *plugin, MotionWindow *gui, int x, int y);
69 void create_objects();
70 static int calculate_w(MotionWindow *gui);
71 static void from_text(int *horizontal_only, int *vertical_only, char *text);
72 static char* to_text(int horizontal_only, int vertical_only);
78 class TrackSingleFrame : public BC_Radial
81 TrackSingleFrame(MotionMain *plugin, MotionWindow *gui, int x, int y);
87 class TrackFrameNumber : public BC_TextBox
90 TrackFrameNumber(MotionMain *plugin, MotionWindow *gui, int x, int y);
96 class TrackPreviousFrame : public BC_Radial
99 TrackPreviousFrame(MotionMain *plugin, MotionWindow *gui, int x, int y);
105 class PreviousFrameSameBlock : public BC_Radial
108 PreviousFrameSameBlock(MotionMain *plugin, MotionWindow *gui, int x, int y);
114 class GlobalRange : public BC_IPot
117 GlobalRange(MotionMain *plugin, int x, int y, int *value);
123 class RotationRange : public BC_IPot
126 RotationRange(MotionMain *plugin, int x, int y);
131 class RotationCenter : public BC_IPot
134 RotationCenter(MotionMain *plugin, int x, int y);
139 class BlockSize : public BC_IPot
142 BlockSize(MotionMain *plugin, int x, int y, int *value);
148 class MotionBlockX : public BC_FPot
151 MotionBlockX(MotionMain *plugin, MotionWindow *gui, int x, int y);
157 class MotionBlockY : public BC_FPot
160 MotionBlockY(MotionMain *plugin, MotionWindow *gui, int x, int y);
166 class MotionBlockXText : public BC_TextBox
169 MotionBlockXText(MotionMain *plugin, MotionWindow *gui, int x, int y);
175 class MotionBlockYText : public BC_TextBox
178 MotionBlockYText(MotionMain *plugin, MotionWindow *gui, int x, int y);
184 class GlobalSearchPositions : public BC_PopupMenu
187 GlobalSearchPositions(MotionMain *plugin, int x, int y, int w);
188 void create_objects();
193 class RotationSearchPositions : public BC_PopupMenu
196 RotationSearchPositions(MotionMain *plugin, int x, int y, int w);
197 void create_objects();
202 class MotionMagnitude : public BC_IPot
205 MotionMagnitude(MotionMain *plugin, int x, int y);
210 class MotionRMagnitude : public BC_IPot
213 MotionRMagnitude(MotionMain *plugin, int x, int y);
218 class MotionReturnSpeed : public BC_IPot
221 MotionReturnSpeed(MotionMain *plugin, int x, int y);
227 class MotionRReturnSpeed : public BC_IPot
230 MotionRReturnSpeed(MotionMain *plugin, int x, int y);
236 class MotionDrawVectors : public BC_CheckBox
239 MotionDrawVectors(MotionMain *plugin, MotionWindow *gui, int x, int y);
245 class AddTrackedFrameOffset : public BC_CheckBox
248 AddTrackedFrameOffset(MotionMain *plugin, MotionWindow *gui, int x, int y);
254 class MotionTrackingFile : public BC_TextBox
257 MotionTrackingFile(MotionMain *plugin, const char *filename,
258 MotionWindow *gui, int x, int y);
264 class MotionGlobal : public BC_CheckBox
267 MotionGlobal(MotionMain *plugin, MotionWindow *gui, int x, int y);
273 class MotionRotate : public BC_CheckBox
276 MotionRotate(MotionMain *plugin, MotionWindow *gui, int x, int y);
284 class MotionWindow : public PluginClientWindow
287 MotionWindow(MotionMain *plugin);
290 void create_objects();
292 char* get_radius_title();
294 GlobalRange *global_range_w;
295 GlobalRange *global_range_h;
296 RotationRange *rotation_range;
297 RotationCenter *rotation_center;
298 BlockSize *global_block_w;
299 BlockSize *global_block_h;
300 BlockSize *rotation_block_w;
301 BlockSize *rotation_block_h;
302 MotionBlockX *block_x;
303 MotionBlockY *block_y;
304 MotionBlockXText *block_x_text;
305 MotionBlockYText *block_y_text;
306 GlobalSearchPositions *global_search_positions;
307 RotationSearchPositions *rotation_search_positions;
308 MotionMagnitude *magnitude;
309 MotionRMagnitude *rotate_magnitude;
310 MotionReturnSpeed *return_speed;
311 MotionRReturnSpeed *rotate_return_speed;
312 ActionType *action_type;
313 MotionDrawVectors *vectors;
314 MotionTrackingFile *tracking_file;
315 MotionGlobal *global;
316 MotionRotate *rotate;
317 AddTrackedFrameOffset *addtrackedframeoffset;
318 TrackSingleFrame *track_single;
319 TrackFrameNumber *track_frame_number;
320 TrackPreviousFrame *track_previous;
321 PreviousFrameSameBlock *previous_same;
322 MasterLayer *master_layer;
323 TrackingType *tracking_type;
324 TrackDirection *track_direction;