X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fardour_button.h;h=25986ccc0c8bb4ea7afcfb970d0dc6c4367a2fe2;hb=e0846c6aee11853597fb6867b35a16f7a3b43479;hp=a3bea7ca3aeb9e99383144f7ff302422d4212491;hpb=69dc9451a7ed03f8f21e4f1fcaf99f845e8bb8a5;p=ardour.git diff --git a/gtk2_ardour/ardour_button.h b/gtk2_ardour/ardour_button.h index a3bea7ca3a..25986ccc0c 100644 --- a/gtk2_ardour/ardour_button.h +++ b/gtk2_ardour/ardour_button.h @@ -25,6 +25,7 @@ #include #include "pbd/signals.h" +#include "gtkmm2ext/ardour_icon.h" #include "gtkmm2ext/binding_proxy.h" #include "gtkmm2ext/activatable.h" #include "gtkmm2ext/cairo_widget.h" @@ -40,9 +41,7 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable unused = 0x10, Menu = 0x20, Inactive = 0x40, // no _action is defined AND state is not used - RecButton = 0x80, // tentative, see commit message - RecTapeMode = 0x100, // tentative - CloseCross = 0x200, // tentative + VectorIcon = 0x80, // tentative, see commit message }; static Element default_elements; @@ -65,12 +64,17 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable void set_active_state (Gtkmm2ext::ActiveState); void set_visual_state (Gtkmm2ext::VisualState); + void set_custom_led_color (const uint32_t c, const bool useit = true); + void set_act_on_release (bool onRelease) { _act_on_release = onRelease; } Element elements() const { return _elements; } void set_elements (Element); void add_elements (Element); + Gtkmm2ext::ArdourIcon::Icon icon() const { return _icon; } + void set_icon (Gtkmm2ext::ArdourIcon::Icon); + void set_corner_radius (float); void set_text (const std::string&); @@ -85,8 +89,8 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable void set_layout_ellipsize_width (int w); void set_layout_font (const Pango::FontDescription&); void set_text_ellipsize (Pango::EllipsizeMode); - - sigc::signal signal_led_clicked; + + sigc::signal signal_led_clicked; sigc::signal signal_clicked; boost::shared_ptr get_controllable() { return binding_proxy.get_controllable(); } @@ -129,6 +133,7 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable Glib::RefPtr _pixbuf; std::string _text; Element _elements; + Gtkmm2ext::ArdourIcon::Icon _icon; Tweaks _tweaks; BindingProxy binding_proxy; @@ -154,6 +159,8 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable uint32_t led_active_color; uint32_t led_inactive_color; + uint32_t led_custom_color; + bool use_custom_led_color; cairo_pattern_t* convex_pattern; cairo_pattern_t* concave_pattern;