diff options
author | Robin Gareus <robin@gareus.org> | 2015-01-28 02:22:52 +0100 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2015-01-28 02:22:52 +0100 |
commit | de85bfd857a302e6be6a7cdbffa8fe96a3c0e17b (patch) | |
tree | 13d750e32d5eee808d5889280982ae92640117a9 /libs | |
parent | 36bbd14113e25038aa490d11c7c010fcaae324a0 (diff) |
fix #6117 - fader prelight
Diffstat (limited to 'libs')
-rw-r--r-- | libs/gtkmm2ext/cairo_widget.cc | 7 | ||||
-rw-r--r-- | libs/gtkmm2ext/gtkmm2ext/cairo_widget.h | 4 | ||||
-rw-r--r-- | libs/gtkmm2ext/pixfader.cc | 2 |
3 files changed, 12 insertions, 1 deletions
diff --git a/libs/gtkmm2ext/cairo_widget.cc b/libs/gtkmm2ext/cairo_widget.cc index 5180c2e8d0..98c7a307ca 100644 --- a/libs/gtkmm2ext/cairo_widget.cc +++ b/libs/gtkmm2ext/cairo_widget.cc @@ -25,6 +25,7 @@ static const char* has_cairo_widget_background_info = "has_cairo_widget_background_info"; bool CairoWidget::_flat_buttons = false; +bool CairoWidget::_widget_prelight = true; static void noop() { } sigc::slot<void> CairoWidget::focus_handler (sigc::ptr_fun (noop)); @@ -257,6 +258,12 @@ CairoWidget::set_flat_buttons (bool yn) } void +CairoWidget::set_widget_prelight (bool yn) +{ + _widget_prelight = yn; +} + +void CairoWidget::set_focus_handler (sigc::slot<void> s) { focus_handler = s; diff --git a/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h b/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h index 038198ab57..036160ab14 100644 --- a/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h +++ b/libs/gtkmm2ext/gtkmm2ext/cairo_widget.h @@ -73,6 +73,9 @@ public: static void set_flat_buttons (bool yn); static bool flat_buttons() { return _flat_buttons; } + static void set_widget_prelight (bool yn); + static bool widget_prelight() { return _widget_prelight; } + static void set_source_rgb_a( cairo_t* cr, Gdk::Color, float a=1.0 ); /* set_focus_handler() will cause all button-press events on any @@ -112,6 +115,7 @@ protected: bool _need_bg; static bool _flat_buttons; + static bool _widget_prelight; bool _grabbed; static sigc::slot<void> focus_handler; diff --git a/libs/gtkmm2ext/pixfader.cc b/libs/gtkmm2ext/pixfader.cc index b75f9f71c1..b140d7b56b 100644 --- a/libs/gtkmm2ext/pixfader.cc +++ b/libs/gtkmm2ext/pixfader.cc @@ -325,7 +325,7 @@ PixFader::render (cairo_t *cr, cairo_rectangle_t* area) Gtkmm2ext::rounded_rectangle (cr, CORNER_OFFSET, CORNER_OFFSET, w-CORNER_SIZE, h-CORNER_SIZE, CORNER_RADIUS); cairo_set_source_rgba (cr, 0.505, 0.517, 0.525, 0.4); cairo_fill (cr); - } else if (_hovering) { + } else if (_hovering && CairoWidget::widget_prelight()) { Gtkmm2ext::rounded_rectangle (cr, CORNER_OFFSET, CORNER_OFFSET, w-CORNER_SIZE, h-CORNER_SIZE, CORNER_RADIUS); cairo_set_source_rgba (cr, 0.905, 0.917, 0.925, 0.1); cairo_fill (cr); |