summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
authorRobin Gareus <robin@gareus.org>2015-01-28 02:22:52 +0100
committerRobin Gareus <robin@gareus.org>2015-01-28 02:22:52 +0100
commitde85bfd857a302e6be6a7cdbffa8fe96a3c0e17b (patch)
tree13d750e32d5eee808d5889280982ae92640117a9 /libs
parent36bbd14113e25038aa490d11c7c010fcaae324a0 (diff)
fix #6117 - fader prelight
Diffstat (limited to 'libs')
-rw-r--r--libs/gtkmm2ext/cairo_widget.cc7
-rw-r--r--libs/gtkmm2ext/gtkmm2ext/cairo_widget.h4
-rw-r--r--libs/gtkmm2ext/pixfader.cc2
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);