X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=gtk2_ardour%2Fardour_button.h;h=78c2f5e369ae7f5bed1ab125e78bb9d978a189cb;hb=f65c592567ace7efe1143e6ddb8a28a57a61ee14;hp=6fbb799f37f2629ab22e08aa3f3a42cabee1eb91;hpb=68e3ba189e973077dd119eefb22678f16cd6d404;p=ardour.git diff --git a/gtk2_ardour/ardour_button.h b/gtk2_ardour/ardour_button.h index 6fbb799f37..78c2f5e369 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,11 +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 - StripWidth = 0x400, // tentative - DinMidi = 0x800, // tentative + VectorIcon = 0x80, // tentative, see commit message }; static Element default_elements; @@ -58,7 +55,8 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable enum Tweaks { Square = 0x1, TrackHeader = 0x2, - unused3 = 0x4, + OccasionalText = 0x4, + unused4 = 0x8, }; Tweaks tweaks() const { return _tweaks; } @@ -75,6 +73,9 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable 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&); @@ -89,8 +90,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(); } @@ -104,7 +105,9 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable void set_image (const Glib::RefPtr&); - void set_fixed_colors (const uint32_t active_color, const uint32_t inactive_color); + void set_fixed_colors (const uint32_t active_color, const uint32_t inactive_color); + void set_active_color (const uint32_t active_color); + void set_inactive_color (const uint32_t inactive_color); void set_fallthrough_to_parent(bool fall) { _fallthrough_to_parent = fall; } @@ -133,6 +136,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; @@ -171,7 +175,7 @@ class ArdourButton : public CairoWidget , public Gtkmm2ext::Activatable bool _distinct_led_click; bool _hovering; bool _focused; - bool _fixed_colors_set; + int _fixed_colors_set; bool _fallthrough_to_parent; int _layout_ellipsize_width; Pango::EllipsizeMode _ellipsis;