4 * Copyright (C) 1997-2012 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
23 #ifndef __FINDOBJWINDOW_H__
24 #define __FINDOBJWINDOW_H__
26 #include "dragcheckbox.h"
27 #include "findobj.inc"
31 class FindObjScanFloat;
32 class FindObjScanFloatText;
33 class FindObjDrawSceneBorder;
34 class FindObjDrawKeypoints;
36 class FindObjDrawObjectBorder;
37 class FindObjDragObject;
38 class FindObjDragScene;
39 class FindObjAlgorithm;
43 class FindObjLayer : public BC_TumbleTextBox
46 FindObjLayer(FindObjMain *plugin, FindObjWindow *gui,
47 int x, int y, int *value);
49 static int calculate_w(FindObjWindow *gui);
55 class FindObjScanFloat : public BC_FPot
58 FindObjScanFloat(FindObjMain *plugin, FindObjWindow *gui, int x, int y, float *value);
63 FindObjScanFloatText *center_text;
67 class FindObjScanFloatText : public BC_TextBox
70 FindObjScanFloatText(FindObjMain *plugin, FindObjWindow *gui, int x, int y, float *value);
74 FindObjScanFloat *center;
79 class FindObjDrawSceneBorder : public BC_CheckBox
82 FindObjDrawSceneBorder(FindObjMain *plugin, FindObjWindow *gui, int x, int y);
88 class FindObjDrawObjectBorder : public BC_CheckBox
91 FindObjDrawObjectBorder(FindObjMain *plugin, FindObjWindow *gui, int x, int y);
97 class FindObjDrawKeypoints : public BC_CheckBox
100 FindObjDrawKeypoints(FindObjMain *plugin, FindObjWindow *gui, int x, int y);
106 class FindObjReplace : public BC_CheckBox
109 FindObjReplace(FindObjMain *plugin, FindObjWindow *gui, int x, int y);
115 class FindObjDragScene : public DragCheckBox
118 FindObjDragScene(FindObjMain *plugin, FindObjWindow *gui, int x, int y,
119 float drag_x, float drag_y, float drag_w, float drag_h);
122 Track *get_drag_track();
123 int64_t get_drag_position();
131 class FindObjDragObject : public DragCheckBox
134 FindObjDragObject(FindObjMain *plugin, FindObjWindow *gui, int x, int y,
135 float drag_x, float drag_y, float drag_w, float drag_h);
136 ~FindObjDragObject();
139 Track *get_drag_track();
140 int64_t get_drag_position();
147 class FindObjAlgorithm : public BC_PopupMenu
150 FindObjAlgorithm(FindObjMain *plugin, FindObjWindow *gui, int x, int y);
152 void create_objects();
153 static int calculate_w(FindObjWindow *gui);
154 static int from_text(char *text);
155 static char* to_text(int mode);
160 class FindObjUseFlann : public BC_CheckBox
163 FindObjUseFlann(FindObjMain *plugin, FindObjWindow *gui, int x, int y);
169 class FindObjBlend : public BC_IPot
172 FindObjBlend(FindObjMain *plugin, int x, int y, int *value);
178 class FindObjWindow : public PluginClientWindow
181 FindObjWindow(FindObjMain *plugin);
183 void create_objects();
186 FindObjAlgorithm *algorithm;
187 FindObjUseFlann *use_flann;
188 FindObjScanFloat *object_x, *object_y, *object_w, *object_h;
189 FindObjScanFloatText *object_x_text, *object_y_text, *object_w_text, *object_h_text;
190 FindObjScanFloat *scene_x, *scene_y, *scene_w, *scene_h;
191 FindObjScanFloatText *scene_x_text, *scene_y_text, *scene_w_text, *scene_h_text;
192 FindObjDrawKeypoints *draw_keypoints;
193 FindObjDrawSceneBorder *draw_scene_border;
194 FindObjReplace *replace_object;
195 FindObjDrawObjectBorder *draw_object_border;
196 FindObjDragObject *drag_object;
197 FindObjDragScene *drag_scene;
198 FindObjLayer *object_layer;
199 FindObjLayer *scene_layer;
200 FindObjLayer *replace_layer;