X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcanvas-flag.h;h=781430f8e4b1257b29a3dc38a6255645f9baa02e;hb=78b8eaf565a34df551bcac2b839a9defe9681ea0;hp=eb50798e8e1078b69263dc510562328bb67817e7;hpb=2c017baa4ad270f7a951161c6fc6f3ba7f7d2429;p=ardour.git diff --git a/gtk2_ardour/canvas-flag.h b/gtk2_ardour/canvas-flag.h index eb50798e8e..781430f8e4 100644 --- a/gtk2_ardour/canvas-flag.h +++ b/gtk2_ardour/canvas-flag.h @@ -1,57 +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: - MidiRegionView& _region; - SimpleLine* _line; - SimpleRect* _rect; + void delete_allocated_objects(); + + SimpleLine* _line; + InteractiveRect* _rect; }; + } // namespace Canvas } // namespace Gnome