23 #ifndef __TOOLS_LASERGUI_LASER_DRAWING_AREA_H_
24 #define __TOOLS_LASERGUI_LASER_DRAWING_AREA_H_
28 #include <interfaces/Position2DTrackInterface.h>
29 #include <interfaces/SwitchInterface.h>
32 class Laser360Interface;
33 class Laser720Interface;
34 class ObjectPositionInterface;
35 class CairoRobotDrawer;
36 class LegtrackerTrackinterface;
37 class SwitchInterface;
38 class VisualDisplay2DInterface;
44 :
public Gtk::DrawingArea
56 const Glib::RefPtr<Gtk::Builder> &builder);
59 void set_laser_ifs(
const std::list<fawkes::Interface*>& laser_if);
61 void set_objpos_if(std::list<fawkes::ObjectPositionInterface*>* l_objpos_if_persons,
62 std::list<fawkes::ObjectPositionInterface*>* l_objpos_if_legs,
63 std::list<fawkes::ObjectPositionInterface*>* l_objpos_if_misc,
65 std::list<fawkes::Position2DTrackInterface*>* l_track_if,
83 #if GTK_VERSION_GE(3,0)
84 virtual bool on_draw(
const Cairo::RefPtr<Cairo::Context> &cr);
93 Glib::RefPtr<Gdk::Window> &window,
94 const Cairo::RefPtr<Cairo::Context> &cr);
96 Glib::RefPtr<Gdk::Window> &window,
97 const Cairo::RefPtr<Cairo::Context> &cr);
99 const Cairo::RefPtr<Cairo::Context> &cr);
101 const Cairo::RefPtr<Cairo::Context> &cr);
113 typedef std::pair<fawkes::Interface*, Color> InterfaceColorPair;
114 typedef std::list<InterfaceColorPair> InterfaceColorPairList;
116 bool all_laser_ifs_have_writer()
const;
118 InterfaceColorPairList __laser_ifs;
125 std::list<fawkes::ObjectPositionInterface*>* __l_objpos_if_persons;
126 std::list<fawkes::ObjectPositionInterface*>* __l_objpos_if_legs;
127 std::list<fawkes::ObjectPositionInterface*>* __l_objpos_if_misc;
128 std::list<fawkes::Position2DTrackInterface*>* __l_track_if;
134 unsigned int __resolution;
136 bool __break_drawing;
138 double __last_mouse_x;
139 double __last_mouse_y;