13
0

ArdourButton: add flags to force boxy/flat style

Add flags ForceBoxy, ForceFlat for the rectab track header grid
This commit is contained in:
Ben Loftis 2021-02-13 10:03:26 -06:00 committed by Robin Gareus
parent 6939470f81
commit 6f28d71729
Signed by: rgareus
GPG Key ID: A090BCE02CF57F04
2 changed files with 8 additions and 3 deletions

View File

@ -265,7 +265,10 @@ ArdourButton::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_
uint32_t text_color;
uint32_t led_color;
const float corner_radius = boxy_buttons () ? 0 : std::max(2.f, _corner_radius * UIConfigurationBase::instance().get_ui_scale());
const bool boxy = (_tweaks & ForceBoxy) | boxy_buttons ();
const bool flat = (_tweaks & ForceFlat) | flat_buttons ();
const float corner_radius = boxy ? 0 : std::max(2.f, _corner_radius * UIConfigurationBase::instance().get_ui_scale());
if (_update_colors) {
set_colors ();
@ -340,7 +343,7 @@ ArdourButton::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_
}
//show the "convex" or "concave" gradient
if (!flat_buttons () && (_elements & Body)==Body) {
if (!flat && (_elements & Body)==Body) {
if ( active_state() == Gtkmm2ext::ExplicitActive && ( !((_elements & Indicator)==Indicator) || use_custom_led_color) ) {
//concave
cairo_set_source (cr, concave_pattern);
@ -524,7 +527,7 @@ ArdourButton::render (Cairo::RefPtr<Cairo::Context> const& ctx, cairo_rectangle_
}
//inset
if (!flat_buttons ()) {
if (!flat) {
cairo_arc (cr, 0, 0, _diameter * .5, 0, 2 * M_PI);
cairo_set_source (cr, led_inset_pattern);
cairo_fill (cr);

View File

@ -65,6 +65,8 @@ class LIBWIDGETS_API ArdourButton : public CairoWidget , public Gtkmm2ext::Activ
TrackHeader = 0x2,
OccasionalText = 0x4,
OccasionalLED = 0x8,
ForceBoxy = 0x10,
ForceFlat = 0x20,
};
Tweaks tweaks() const { return _tweaks; }