Add load_session to profiling.
[ardour.git] / gtk2_ardour / canvas-flag.h
1 #ifndef CANVASFLAG_H_
2 #define CANVASFLAG_H_
3
4 #include <string>
5 #include <libgnomecanvasmm/pixbuf.h>
6 #include <libgnomecanvasmm/group.h>
7 #include <libgnomecanvasmm/widget.h>
8
9 #include "simplerect.h"
10 #include "simpleline.h"
11 #include "canvas.h"
12
13 class MidiRegionView;
14
15 namespace Gnome {
16 namespace Canvas {
17
18 class CanvasFlag : public Group
19 {
20 public:
21         CanvasFlag (MidiRegionView& region,
22                     Group&          parent,
23                     double          height,
24                     guint           outline_color_rgba = 0xc0c0c0ff,
25                     guint           fill_color_rgba = 0x07070707,
26                     double          x = 0.0,
27                     double          y = 0.0);
28
29         virtual ~CanvasFlag();
30
31         virtual void set_text(const std::string& a_text);
32         virtual void set_height (double);
33
34         int width () const { return name_pixbuf_width + 10.0; }
35     
36 protected:
37         ArdourCanvas::Pixbuf* _name_pixbuf;
38         double           _height;
39         guint            _outline_color_rgba;
40         guint            _fill_color_rgba;
41         MidiRegionView&  _region;
42         int name_pixbuf_width;
43
44 private:
45         void delete_allocated_objects();
46
47         SimpleLine*      _line;
48         SimpleRect*      _rect;
49 };
50
51
52 } // namespace Canvas
53 } // namespace Gnome
54
55 #endif /*CANVASFLAG_H_*/