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
26 class MotionGlobal : public BC_CheckBox
29 MotionGlobal(MotionMain2 *plugin,
41 class MasterLayer : public BC_PopupMenu
44 MasterLayer(MotionMain2 *plugin, MotionWindow *gui, int x, int y);
46 void create_objects();
47 static int calculate_w(MotionWindow *gui);
48 static int from_text(char *text);
49 static char* to_text(int mode);
54 class Action : public BC_PopupMenu
57 Action(MotionMain2 *plugin, MotionWindow *gui, int x, int y);
59 void create_objects();
60 static int calculate_w(MotionWindow *gui);
61 static int from_text(char *text);
62 static char* to_text(int mode);
67 class Calculation : public BC_PopupMenu
70 Calculation(MotionMain2 *plugin, MotionWindow *gui, int x, int y);
72 void create_objects();
73 static int calculate_w(MotionWindow *gui);
74 static int from_text(char *text);
75 static char* to_text(int mode);
80 class TrackingDirection : public BC_PopupMenu
83 TrackingDirection(MotionMain2 *plugin, MotionWindow *gui, int x, int y);
85 void create_objects();
86 static int calculate_w(MotionWindow *gui);
87 static void from_text(int *horizontal_only, int *vertical_only, char *text);
88 static char* to_text(int horizontal_only, int vertical_only);
94 class TrackSingleFrame : public BC_Radial
97 TrackSingleFrame(MotionMain2 *plugin,
106 class TrackFrameNumber : public BC_TextBox
109 TrackFrameNumber(MotionMain2 *plugin,
118 class TrackPreviousFrame : public BC_Radial
121 TrackPreviousFrame(MotionMain2 *plugin,
130 class PreviousFrameSameBlock : public BC_Radial
133 PreviousFrameSameBlock(MotionMain2 *plugin,
142 class MotionPot : public BC_IPot
145 MotionPot(MotionMain2 *plugin,
156 class MotionBlockX : public BC_FPot
159 MotionBlockX(MotionMain2 *plugin,
170 class MotionBlockY : public BC_FPot
173 MotionBlockY(MotionMain2 *plugin,
184 class MotionBlockXText : public BC_TextBox
187 MotionBlockXText(MotionMain2 *plugin,
198 class MotionBlockYText : public BC_TextBox
201 MotionBlockYText(MotionMain2 *plugin,
212 class GlobalSearchPositions : public BC_PopupMenu
215 GlobalSearchPositions(MotionMain2 *plugin,
219 void create_objects();
226 class MotionMagnitude : public BC_IPot
229 MotionMagnitude(MotionMain2 *plugin,
236 class MotionReturnSpeed : public BC_IPot
239 MotionReturnSpeed(MotionMain2 *plugin,
248 class MotionDrawVectors : public BC_CheckBox
251 MotionDrawVectors(MotionMain2 *plugin,
265 class MotionWindow : public PluginClientWindow
268 MotionWindow(MotionMain2 *plugin);
271 void create_objects();
273 char* get_radius_title();
275 MotionGlobal *global[TOTAL_POINTS];
276 MotionPot *global_range_w[TOTAL_POINTS];
277 MotionPot *global_range_h[TOTAL_POINTS];
278 MotionPot *global_block_w[TOTAL_POINTS];
279 MotionPot *global_block_h[TOTAL_POINTS];
280 MotionPot *global_origin_x[TOTAL_POINTS];
281 MotionPot *global_origin_y[TOTAL_POINTS];
282 MotionBlockX *block_x[TOTAL_POINTS];
283 MotionBlockY *block_y[TOTAL_POINTS];
284 MotionBlockXText *block_x_text[TOTAL_POINTS];
285 MotionBlockYText *block_y_text[TOTAL_POINTS];
286 MotionDrawVectors *vectors[TOTAL_POINTS];
288 GlobalSearchPositions *global_search_positions;
289 MotionMagnitude *magnitude;
290 MotionReturnSpeed *return_speed;
291 TrackSingleFrame *track_single;
292 TrackFrameNumber *track_frame_number;
293 TrackPreviousFrame *track_previous;
294 PreviousFrameSameBlock *previous_same;
295 MasterLayer *master_layer;
297 Calculation *calculation;
298 TrackingDirection *tracking_direction;