X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_button.h;h=f13a36835eb5d1e9c18e63be33a513114c47a863;hb=708fb03e87676d4fb125e0d78bd297e705a8e735;hp=ee3fd086d1310b63f472c09c1f58400884ca54aa;hpb=e04c7608c193545a1d8038a3f9169ab8e521c9a8;p=ardour.git diff --git a/gtk2_ardour/ardour_button.h b/gtk2_ardour/ardour_button.h index ee3fd086d1..f13a36835e 100644 --- a/gtk2_ardour/ardour_button.h +++ b/gtk2_ardour/ardour_button.h @@ -20,6 +20,7 @@ #ifndef __gtk2_ardour_ardour_button_h__ #define __gtk2_ardour_ardour_button_h__ +#include #include #include @@ -37,7 +38,6 @@ class ArdourButton : public CairoWidget Body = 0x2, Text = 0x4, Indicator = 0x8, - Image = 0x16 }; static Element default_elements; @@ -45,8 +45,12 @@ class ArdourButton : public CairoWidget static Element just_led_default_elements; ArdourButton (Element e = default_elements); + ArdourButton (const std::string&, Element e = default_elements); virtual ~ArdourButton (); + void set_active_state (Gtkmm2ext::ActiveState); + void set_visual_state (Gtkmm2ext::VisualState); + void set_elements (Element); Element elements() const { return _elements; } @@ -67,12 +71,15 @@ class ArdourButton : public CairoWidget void set_related_action (Glib::RefPtr); + bool on_button_press_event (GdkEventButton*); + bool on_button_release_event (GdkEventButton*); + + void set_image (const Glib::RefPtr&); + protected: void render (cairo_t *); void on_size_request (Gtk::Requisition* req); void on_size_allocate (Gtk::Allocation&); - bool on_button_press_event (GdkEventButton*); - bool on_button_release_event (GdkEventButton*); void on_style_changed (const Glib::RefPtr&); void controllable_changed (); @@ -80,6 +87,7 @@ class ArdourButton : public CairoWidget private: Glib::RefPtr _layout; + Glib::RefPtr _pixbuf; std::string _text; Element _elements; BindingProxy binding_proxy; @@ -113,7 +121,6 @@ class ArdourButton : public CairoWidget void setup_led_rect (); void set_colors (); void color_handler (); - void state_handler (); Glib::RefPtr _action; void action_activated ();