From 183351f33359b0d110dcc12a8121b6fac112bc14 Mon Sep 17 00:00:00 2001 From: Robin Gareus Date: Sun, 23 Jul 2017 19:40:20 +0200 Subject: [PATCH] Add touch-events signal emission to ArdourKnob --- libs/widgets/ardour_knob.cc | 4 ++++ libs/widgets/widgets/ardour_knob.h | 3 +++ 2 files changed, 7 insertions(+) diff --git a/libs/widgets/ardour_knob.cc b/libs/widgets/ardour_knob.cc index 40adeb7d90..6f673c5c67 100644 --- a/libs/widgets/ardour_knob.cc +++ b/libs/widgets/ardour_knob.cc @@ -393,6 +393,8 @@ ArdourKnob::on_button_press_event (GdkEventButton *ev) if (ev->type != GDK_BUTTON_PRESS) { if (_grabbed) { remove_modal_grab(); + _grabbed = false; + StopGesture (); gdk_pointer_ungrab (GDK_CURRENT_TIME); } return true; @@ -410,6 +412,7 @@ ArdourKnob::on_button_press_event (GdkEventButton *ev) _tooltip.start_drag(); add_modal_grab(); _grabbed = true; + StartGesture (); gdk_pointer_grab(ev->window,false, GdkEventMask( Gdk::POINTER_MOTION_MASK | Gdk::BUTTON_PRESS_MASK |Gdk::BUTTON_RELEASE_MASK), NULL,NULL,ev->time); @@ -421,6 +424,7 @@ ArdourKnob::on_button_release_event (GdkEventButton *ev) { _tooltip.stop_drag(); _grabbed = false; + StopGesture (); remove_modal_grab(); gdk_pointer_ungrab (GDK_CURRENT_TIME); diff --git a/libs/widgets/widgets/ardour_knob.h b/libs/widgets/widgets/ardour_knob.h index c07b0447cb..b424e13a8a 100644 --- a/libs/widgets/widgets/ardour_knob.h +++ b/libs/widgets/widgets/ardour_knob.h @@ -91,6 +91,9 @@ public: void color_handler (); + sigc::signal StartGesture; + sigc::signal StopGesture; + protected: void render (Cairo::RefPtr const&, cairo_rectangle_t*); void on_size_request (Gtk::Requisition* req);