Only show user-presets in favorite sidebar
[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 #include "gtkmm2ext/visibility.h"
7
8 class LIBGTKMM2EXT_API CairoPacker
9 {
10 public:
11         CairoPacker () {}
12         virtual ~CairoPacker () {}
13
14         virtual Gdk::Color get_bg () const = 0;
15
16 protected:
17         virtual void draw_background (Gtk::Widget&, GdkEventExpose*);
18 };
19
20 class LIBGTKMM2EXT_API CairoHPacker : public CairoPacker, public Gtk::HBox
21 {
22 public:
23         CairoHPacker ();
24         ~CairoHPacker() {}
25
26         Gdk::Color get_bg () const;
27
28         bool on_expose_event (GdkEventExpose*);
29         void on_realize ();
30         void on_size_allocate (Gtk::Allocation& alloc);
31 };
32
33 class LIBGTKMM2EXT_API CairoVPacker : public CairoPacker, public Gtk::VBox
34 {
35 public:
36         CairoVPacker ();
37         ~CairoVPacker () {}
38
39         Gdk::Color get_bg () const;
40
41         bool on_expose_event (GdkEventExpose*);
42         void on_realize ();
43         void on_size_allocate (Gtk::Allocation& alloc);
44 };
45
46 #endif /* __gtkmm2ext_cairo_packer_h__ */