4 #include <libgnomecanvasmm/group.h>
5 #include <libgnomecanvasmm/text.h>
6 #include <libgnomecanvasmm/widget.h>
8 #include <ardour/midi_model.h>
10 #include "simplerect.h"
11 #include "simpleline.h"
21 class CanvasFlag : public Group
25 MidiRegionView& region,
28 guint outline_color_rgba = 0xc0c0c0ff,
29 guint fill_color_rgba = 0x07070707,
32 ) : Group(parent, x, y)
35 , _outline_color_rgba(outline_color_rgba)
36 , _fill_color_rgba(fill_color_rgba)
42 virtual ~CanvasFlag();
44 virtual bool on_event(GdkEvent* ev);
46 void set_text(string& a_text);
49 CanvasFlagText* _text;
51 guint _outline_color_rgba;
52 guint _fill_color_rgba;
53 MidiRegionView& _region;
56 void delete_allocated_objects();
59 CanvasFlagRect* _rect;
62 class CanvasFlagText: public Text
65 CanvasFlagText(Group& parent, double x, double y, const Glib::ustring& text)
66 : Text(parent, x, y, text) {
67 _parent = dynamic_cast<CanvasFlag*>(&parent);
71 virtual bool on_event(GdkEvent* ev) {
73 return _parent->on_event(ev);
83 class CanvasFlagRect: public SimpleRect
86 CanvasFlagRect(Group& parent, double x1, double y1, double x2, double y2)
87 : SimpleRect(parent, x1, y1, x2, y2) {
88 _parent = dynamic_cast<CanvasFlag*>(&parent);
91 virtual bool on_event(GdkEvent* ev) {
93 return _parent->on_event(ev);
104 } // namespace Canvas
107 #endif /*CANVASFLAG_H_*/