X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcanvas-flag.h;h=781430f8e4b1257b29a3dc38a6255645f9baa02e;hb=896a0a991cc44418f58903fe5dd1c58001c87314;hp=23fba78fee6451ae2cfeabb63ef3d8f51df9387e;hpb=30daaebaa2d90d6b0e8673143ccc3cacd7bd1753;p=ardour.git diff --git a/gtk2_ardour/canvas-flag.h b/gtk2_ardour/canvas-flag.h index 23fba78fee..781430f8e4 100644 --- a/gtk2_ardour/canvas-flag.h +++ b/gtk2_ardour/canvas-flag.h @@ -1,59 +1,63 @@ #ifndef CANVASFLAG_H_ #define CANVASFLAG_H_ +#include #include -#include #include -#include +#include "ardour/midi_model.h" #include "simplerect.h" #include "simpleline.h" +#include "interactive-item.h" class MidiRegionView; namespace Gnome { namespace Canvas { -class CanvasFlag : public Group +class CanvasFlag : public Group, public InteractiveItem { public: CanvasFlag( - MidiRegionView& region, - Group& parent, - double height, - guint outline_color_rgba = 0xc0c0c0ff, - guint fill_color_rgba = 0x07070707, - double x = 0.0, - double y = 0.0 - ) : Group(parent, x, y) - , _text(0) - , _height(height) - , _outline_color_rgba(outline_color_rgba) - , _fill_color_rgba(fill_color_rgba) - , _region(region) - , _line(0) - , _rect(0) + MidiRegionView& region, + Group& parent, + double height, + guint outline_color_rgba = 0xc0c0c0ff, + guint fill_color_rgba = 0x07070707, + double x = 0.0, + double y = 0.0) + : Group(parent, x, y) + , _text(0) + , _height(height) + , _outline_color_rgba(outline_color_rgba) + , _fill_color_rgba(fill_color_rgba) + , _region(region) + , _line(0) + , _rect(0) {} - + virtual ~CanvasFlag(); - - void set_text(string& a_text); + + virtual bool on_event(GdkEvent* ev); + + void set_text(const std::string& a_text); protected: - Text* _text; - double _height; - guint _outline_color_rgba; - guint _fill_color_rgba; - + InteractiveText* _text; + double _height; + guint _outline_color_rgba; + guint _fill_color_rgba; + MidiRegionView& _region; + private: void delete_allocated_objects(); - - MidiRegionView& _region; - SimpleLine* _line; - SimpleRect* _rect; + + SimpleLine* _line; + InteractiveRect* _rect; }; + } // namespace Canvas } // namespace Gnome