23 #ifndef __FIREVISION_TOOLS_FIRESTATION_FIRESTATION_H_ 24 #define __FIREVISION_TOOLS_FIRESTATION_FIRESTATION_H_ 27 #include <fvutils/base/roi.h> 28 #include <fvutils/color/colorspaces.h> 29 #include <netcomm/dns-sd/avahi_thread.h> 33 class SharedMemoryImageBuffer;
36 class FuseImageListWidget;
37 class MirrorCalibTool;
40 class AvahiDispatcher;
52 Gtk::Window& get_window()
const;
55 class ShmColumnRecord :
public Gtk::TreeModel::ColumnRecord
60 add(m_id); add(m_name);
63 Gtk::TreeModelColumn<int> m_id;
64 Gtk::TreeModelColumn<Glib::ustring> m_name;
68 class FuseColumnRecord :
public Gtk::TreeModel::ColumnRecord
73 add(m_id); add(m_name);
74 add(m_service_name); add(m_service_domain);
75 add(m_service_hostname); add(m_service_port);
76 add(m_image_id); add(m_image_width), add(m_image_height);
77 add(m_image_colorspace);
80 Gtk::TreeModelColumn<int> m_id;
81 Gtk::TreeModelColumn<Glib::ustring> m_name;
82 Gtk::TreeModelColumn<Glib::ustring> m_service_name;
83 Gtk::TreeModelColumn<Glib::ustring> m_service_type;
84 Gtk::TreeModelColumn<Glib::ustring> m_service_domain;
85 Gtk::TreeModelColumn<Glib::ustring> m_service_hostname;
86 Gtk::TreeModelColumn<unsigned short int> m_service_port;
87 Gtk::TreeModelColumn<Glib::ustring> m_image_id;
88 Gtk::TreeModelColumn<unsigned int> m_image_width;
89 Gtk::TreeModelColumn<unsigned int> m_image_height;
90 Gtk::TreeModelColumn<Glib::ustring> m_image_colorspace;
107 MODE_MIRROR_CALIB_EVAL
114 bool call_update_image();
115 void enable_cont_img_trans();
120 void on_fuse_image_selected();
121 void on_colormap_updated();
122 bool image_click(GdkEventButton*);
127 void pre_open_img_src();
128 void post_open_img_src();
129 void resize_image(Gtk::Allocation& allocation);
133 firevision::hint_t ct_get_fg_object();
134 void ct_object_changed();
136 double mc_line_angle_deg;
138 void mc_set_center();
140 void mc_simulate_clicks();
142 bool mc_on_line_angle_changed(Gtk::ScrollType scroll,
double value);
146 Glib::Dispatcher m_update_img;
151 Gtk::Window* m_wnd_main;
152 Gtk::Dialog* m_dlg_open_shm;
153 Gtk::Dialog* m_dlg_open_fuse;
154 Gtk::CheckButton* m_ckb_fuse_jpeg;
155 Gtk::CheckButton* m_ckb_cont_trans;
156 Gtk::SpinButton* m_spb_update_time;
157 Gtk::FileChooserDialog* m_fcd_open_image;
158 Gtk::FileChooserDialog* m_fcd_save_image;
159 Gtk::ToolButton* m_tbtn_open_file;
160 Gtk::ToolButton* m_tbtn_open_folder;
161 Gtk::ToolButton* m_tbtn_open_shm;
162 Gtk::ToolButton* m_tbtn_open_fuse;
163 Gtk::ToolButton* m_tbtn_update;
164 Gtk::ToolButton* m_tbtn_save;
165 Gtk::ToolButton* m_tbtn_close_camera;
166 Gtk::ToolButton* m_tbtn_exit;
167 Gtk::Image* m_img_image;
168 Gtk::EventBox* m_evt_image;
169 Gtk::TreeView* m_trv_shm_image_ids;
170 Gtk::TreeView* m_trv_fuse_services;
171 Gtk::Statusbar* m_stb_status;
174 Gtk::ComboBox* m_cmb_ct_type;
175 Gtk::ToggleButton* m_btn_ct_start;
176 Gtk::ToggleButton* m_btn_ct_seg;
177 Gtk::SpinButton* m_spbtn_depth;
178 Gtk::SpinButton* m_spbtn_width;
179 Gtk::SpinButton* m_spbtn_height;
182 Gtk::FileChooserDialog* m_fcd_mc_load_mask;
183 Gtk::FileChooserDialog* m_fcd_mc_save;
184 Gtk::FileChooserDialog* m_fcd_mc_load;
185 Gtk::Button* m_btn_mc_load_mask;
186 Gtk::ToggleButton* m_btn_mc_set_center;
187 Gtk::Button* m_btn_mc_memorize;
188 Gtk::Button* m_btn_mc_simulate_clicks;
189 Gtk::Scale* m_scl_mc_line;
190 Gtk::Button* m_btn_mc_load;
191 Gtk::Button* m_btn_mc_save;
192 Gtk::Entry* m_ent_mc_dist;
193 Gtk::Entry* m_ent_mc_ori;
195 ShmColumnRecord m_shm_columns;
196 Glib::RefPtr<Gtk::ListStore> m_shm_list_store;
198 FuseColumnRecord m_fuse_columns;
199 Glib::RefPtr<Gtk::TreeStore> m_fuse_tree_store;
205 ImageSource m_img_src;
209 unsigned char* m_yuv_orig_buffer;
210 unsigned char* m_yuv_draw_buffer;
211 unsigned char* m_yuv_scaled_buffer;
212 unsigned char* m_rgb_scaled_buffer;
214 unsigned int m_img_width;
215 unsigned int m_img_height;
216 unsigned int m_scaled_img_width;
217 unsigned int m_scaled_img_height;
218 unsigned int m_max_img_width;
219 unsigned int m_max_img_height;
221 firevision::colorspace_t m_img_cs;
223 bool m_cont_img_trans;
224 float m_scale_factor;
226 #ifdef HAVE_MIRROR_CALIB Camera interface for image aquiring devices in FireVision.
Fawkes library namespace.
Interface to write images.
Shared memory image buffer.
Representation of a service announced or found via service discovery (i.e.
Control GUI for vision related stuff.