merge with master
[ardour.git] / libs / gtkmm2ext / gtkmm2ext / cairo_packer.h
1 #ifndef __gtkmm2ext_cairo_packer_h__
2 #define __gtkmm2ext_cairo_packer_h__
3
4 #include <gtkmm/box.h>
5
6 class CairoPacker 
7 {
8   public:
9         CairoPacker () {}
10         virtual ~CairoPacker () {}
11
12         virtual Gdk::Color get_bg () const = 0;
13
14   protected:
15         virtual void draw_background (Gtk::Widget&, GdkEventExpose*);
16 };
17
18 class CairoHPacker : public CairoPacker, public Gtk::HBox
19 {
20   public:
21         CairoHPacker ();
22         ~CairoHPacker() {}
23
24         Gdk::Color get_bg () const;
25
26         bool on_expose_event (GdkEventExpose*);
27         void on_realize ();
28 };
29
30 class CairoVPacker : public CairoPacker, public Gtk::VBox
31 {
32   public:
33         CairoVPacker ();
34         ~CairoVPacker () {}
35
36         Gdk::Color get_bg () const;
37
38         bool on_expose_event (GdkEventExpose*);
39         void on_realize ();
40 };
41
42 #endif /* __gtkmm2ext_cairo_packer_h__ */