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