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 __FINDOBJECTWINDOW_H__
24 #define __FINDOBJECTWINDOW_H__
27 #include "findobject.inc"
29 class FindObjectLayer;
30 class FindObjectScanFloat;
31 class FindObjectScanFloatText;
32 class FindObjectDrawBorder;
33 class FindObjectDrawKeypoints;
34 class FindObjectReplace;
35 class FindObjectDrawObjectBorder;
36 class FindObjectAlgorithm;
37 class FindObjectBlend;
38 class FindObjectWindow;
40 class FindObjectLayer : public BC_TumbleTextBox
43 FindObjectLayer(FindObjectMain *plugin, FindObjectWindow *gui,
44 int x, int y, int *value);
46 static int calculate_w(FindObjectWindow *gui);
47 FindObjectMain *plugin;
48 FindObjectWindow *gui;
52 class FindObjectScanFloat : public BC_FPot
55 FindObjectScanFloat(FindObjectMain *plugin, FindObjectWindow *gui, int x, int y, float *value);
57 FindObjectMain *plugin;
58 FindObjectWindow *gui;
59 FindObjectScanFloatText *center_text;
63 class FindObjectScanFloatText : public BC_TextBox
66 FindObjectScanFloatText(FindObjectMain *plugin, FindObjectWindow *gui, int x, int y, float *value);
68 FindObjectWindow *gui;
69 FindObjectMain *plugin;
70 FindObjectScanFloat *center;
75 class FindObjectDrawBorder : public BC_CheckBox
78 FindObjectDrawBorder(FindObjectMain *plugin, FindObjectWindow *gui, int x, int y);
80 FindObjectMain *plugin;
81 FindObjectWindow *gui;
84 class FindObjectDrawKeypoints : public BC_CheckBox
87 FindObjectDrawKeypoints(FindObjectMain *plugin, FindObjectWindow *gui, int x, int y);
89 FindObjectMain *plugin;
90 FindObjectWindow *gui;
93 class FindObjectReplace : public BC_CheckBox
96 FindObjectReplace(FindObjectMain *plugin, FindObjectWindow *gui, int x, int y);
98 FindObjectMain *plugin;
99 FindObjectWindow *gui;
102 class FindObjectDrawObjectBorder : public BC_CheckBox
105 FindObjectDrawObjectBorder(FindObjectMain *plugin, FindObjectWindow *gui, int x, int y);
107 FindObjectMain *plugin;
108 FindObjectWindow *gui;
111 class FindObjectAlgorithm : public BC_PopupMenu
114 FindObjectAlgorithm(FindObjectMain *plugin, FindObjectWindow *gui, int x, int y);
116 void create_objects();
117 static int calculate_w(FindObjectWindow *gui);
118 static int from_text(char *text);
119 static char* to_text(int mode);
120 FindObjectMain *plugin;
121 FindObjectWindow *gui;
124 class FindObjectUseFlann : public BC_CheckBox
127 FindObjectUseFlann(FindObjectMain *plugin, FindObjectWindow *gui, int x, int y);
129 FindObjectMain *plugin;
130 FindObjectWindow *gui;
133 class FindObjectBlend : public BC_IPot
136 FindObjectBlend(FindObjectMain *plugin, int x, int y, int *value);
138 FindObjectMain *plugin;
142 class FindObjectWindow : public PluginClientWindow
145 FindObjectWindow(FindObjectMain *plugin);
147 void create_objects();
149 FindObjectAlgorithm *algorithm;
150 FindObjectUseFlann *use_flann;
151 FindObjectScanFloat *object_x, *object_y, *object_w, *object_h;
152 FindObjectScanFloatText *object_x_text, *object_y_text, *object_w_text, *object_h_text;
153 FindObjectScanFloat *scene_x, *scene_y, *scene_w, *scene_h;
154 FindObjectScanFloatText *scene_x_text, *scene_y_text, *scene_w_text, *scene_h_text;
155 FindObjectDrawKeypoints *draw_keypoints;
156 FindObjectDrawBorder *draw_border;
157 FindObjectReplace *replace_object;
158 FindObjectDrawObjectBorder *draw_object_border;
159 FindObjectLayer *object_layer;
160 FindObjectLayer *scene_layer;
161 FindObjectLayer *replace_layer;
162 FindObjectBlend *blend;
163 FindObjectMain *plugin;