diff options
author | Carlos Garnacho <carlosg@gnome.org> | 2014-05-06 11:43:31 +0200 |
---|---|---|
committer | Carlos Garnacho <carlosg@gnome.org> | 2014-05-23 19:54:29 +0200 |
commit | 4589f0e0c841c58b4418cecded0ad3a2a4f6e9d2 (patch) | |
tree | 28ae490d2a270da5fb4a4f5371ef9acf769c0bfa /gtk/gtkgesturerotate.c | |
parent | c34280d97b763f2550c87b4e046b2679712c65f3 (diff) | |
download | gtk+-4589f0e0c841c58b4418cecded0ad3a2a4f6e9d2.tar.gz |
rotate: Ensure delta is between [0..2π]
Diffstat (limited to 'gtk/gtkgesturerotate.c')
-rw-r--r-- | gtk/gtkgesturerotate.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/gtk/gtkgesturerotate.c b/gtk/gtkgesturerotate.c index 952129878f..ec8b12ae1c 100644 --- a/gtk/gtkgesturerotate.c +++ b/gtk/gtkgesturerotate.c @@ -110,15 +110,18 @@ static gboolean _gtk_gesture_rotate_check_emit (GtkGestureRotate *gesture) { GtkGestureRotatePrivate *priv; - gdouble angle; + gdouble angle, delta; if (!_gtk_gesture_rotate_get_angle (gesture, &angle)) return FALSE; priv = gtk_gesture_rotate_get_instance_private (gesture); + delta = angle - priv->initial_angle; + + if (delta < 0) + delta += 2 * G_PI; - g_signal_emit (gesture, signals[ANGLE_CHANGED], 0, - angle, angle - priv->initial_angle); + g_signal_emit (gesture, signals[ANGLE_CHANGED], 0, angle, delta); return TRUE; } |