From 0c71b89a15ffde9e64601ced0ba201484eaf15dd Mon Sep 17 00:00:00 2001 From: Paul Davis Date: Fri, 15 Feb 2008 20:39:43 +0000 Subject: [PATCH] make fine-tuning modifiers for PixFader platform specific git-svn-id: svn://localhost/ardour2/branches/2.0-ongoing@3063 d708f5d6-7413-0410-9779-e7cbd77b26cf --- libs/gtkmm2ext/gtkmm2ext/pixfader.h | 3 +++ libs/gtkmm2ext/pixfader.cc | 12 ++++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/libs/gtkmm2ext/gtkmm2ext/pixfader.h b/libs/gtkmm2ext/gtkmm2ext/pixfader.h index d974f5d5bc..e610d40f22 100644 --- a/libs/gtkmm2ext/gtkmm2ext/pixfader.h +++ b/libs/gtkmm2ext/gtkmm2ext/pixfader.h @@ -61,6 +61,9 @@ class PixFader : public Gtk::DrawingArea { void adjustment_changed (); int display_height (); + + static uint fine_scale_modifier; + static uint extra_fine_scale_modifier; }; diff --git a/libs/gtkmm2ext/pixfader.cc b/libs/gtkmm2ext/pixfader.cc index 217fe50d03..b48916ed01 100644 --- a/libs/gtkmm2ext/pixfader.cc +++ b/libs/gtkmm2ext/pixfader.cc @@ -27,6 +27,14 @@ using namespace Gtk; using namespace Gdk; using namespace std; +#ifdef GTKOSX +uint PixFader::fine_scale_modifier = GDK_META_MASK; +#else +uint PixFader::fine_scale_modifier = GDK_CONTROL_MASK; +#endif + +uint PixFader::extra_fine_scale_modifier = GDK_MOD1_MASK; + PixFader::PixFader (Glib::RefPtr belt, Gtk::Adjustment& adj) : adjustment (adj), pixbuf (belt) @@ -205,8 +213,8 @@ PixFader::on_motion_notify_event (GdkEventMotion* ev) return true; } - if (ev->state & GDK_CONTROL_MASK) { - if (ev->state & GDK_MOD1_MASK) { + if (ev->state & fine_scale_modifier) { + if (ev->state & extra_fine_scale_modifier) { scale = 0.05; } else { scale = 0.1;