20 #ifndef __gtk2_ardour_cairo_widget_h__
21 #define __gtk2_ardour_cairo_widget_h__
23 #include <cairomm/surface.h>
24 #include <gtkmm/eventbox.h>
40 Gtkmm2ext::ActiveState
active_state()
const {
return _active_state; }
41 Gtkmm2ext::VisualState
visual_state()
const {
return _visual_state; }
47 virtual void set_active_state (Gtkmm2ext::ActiveState);
48 virtual void set_visual_state (Gtkmm2ext::VisualState);
56 void set_active (
bool);
65 void set_draw_background (
bool yn);
69 static void provide_background_for_cairo_widget (Gtk::Widget& w,
const Gdk::Color& bg);
71 virtual void render (cairo_t *, cairo_rectangle_t*) = 0;
73 static void set_flat_buttons (
bool yn);
76 static void set_widget_prelight (
bool yn);
79 static void set_source_rgb_a( cairo_t* cr, Gdk::Color,
float a=1.0 );
96 static void set_focus_handler (sigc::slot<void>);
100 virtual bool on_expose_event (GdkEventExpose *);
101 void on_size_allocate (Gtk::Allocation &);
102 void on_state_changed (Gtk::StateType);
103 void on_style_changed (
const Glib::RefPtr<Gtk::Style>&);
104 bool on_button_press_event (GdkEventButton*);
105 Gdk::Color get_parent_bg ();
113 Gtkmm2ext::ActiveState _active_state;