X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fcanvas-flag.h;h=95c2176e4094314a87020b424f18463a30f93226;hb=b84e1a50a3a4508b2070fe0848085db31f8cfa69;hp=eb50798e8e1078b69263dc510562328bb67817e7;hpb=2c017baa4ad270f7a951161c6fc6f3ba7f7d2429;p=ardour.git diff --git a/gtk2_ardour/canvas-flag.h b/gtk2_ardour/canvas-flag.h index eb50798e8e..95c2176e40 100644 --- a/gtk2_ardour/canvas-flag.h +++ b/gtk2_ardour/canvas-flag.h @@ -1,14 +1,33 @@ +/* + Copyright (C) 2012 Paul Davis + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. + +*/ + #ifndef CANVASFLAG_H_ #define CANVASFLAG_H_ +#include +#include #include -#include #include -#include - #include "simplerect.h" #include "simpleline.h" +#include "canvas.h" class MidiRegionView; @@ -18,40 +37,37 @@ namespace Canvas { class CanvasFlag : public Group { 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) - {} - + 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); + virtual ~CanvasFlag(); - - void set_text(string& a_text); + + virtual void set_text(const std::string& a_text); + virtual void set_height (double); + + int width () const { return name_pixbuf_width + 10.0; } protected: - Text* _text; - double _height; - guint _outline_color_rgba; - guint _fill_color_rgba; - + ArdourCanvas::Pixbuf* _name_pixbuf; + double _height; + guint _outline_color_rgba; + guint _fill_color_rgba; + MidiRegionView& _region; + int name_pixbuf_width; + private: - MidiRegionView& _region; - SimpleLine* _line; - SimpleRect* _rect; + void delete_allocated_objects(); + + SimpleLine* _line; + SimpleRect* _rect; }; + } // namespace Canvas } // namespace Gnome