gesturezoom: Just return a double in get_scale_delta()

Checking whether the gesture is active is a responsibility of the caller.
This commit is contained in:
Carlos Garnacho 2014-05-26 14:32:59 +02:00
parent 8f7d5fb2c0
commit 9f8bd7a2bc
3 changed files with 10 additions and 15 deletions

View File

@ -96,8 +96,8 @@ drawing_area_draw (GtkWidget *widget,
angle = gtk_gesture_rotate_get_angle_delta (GTK_GESTURE_ROTATE (rotate)); angle = gtk_gesture_rotate_get_angle_delta (GTK_GESTURE_ROTATE (rotate));
cairo_matrix_rotate (&matrix, angle); cairo_matrix_rotate (&matrix, angle);
if (gtk_gesture_zoom_get_scale_delta (GTK_GESTURE_ZOOM (zoom), &scale)) scale = gtk_gesture_zoom_get_scale_delta (GTK_GESTURE_ZOOM (zoom));
cairo_matrix_scale (&matrix, scale, scale); cairo_matrix_scale (&matrix, scale, scale);
cairo_set_matrix (cr, &matrix); cairo_set_matrix (cr, &matrix);
cairo_rectangle (cr, -100, -100, 200, 200); cairo_rectangle (cr, -100, -100, 200, 200);

View File

@ -191,17 +191,16 @@ gtk_gesture_zoom_new (GtkWidget *widget)
* @gesture: a #GtkGestureZoom * @gesture: a #GtkGestureZoom
* @scale: (out) (transfer none): zoom delta * @scale: (out) (transfer none): zoom delta
* *
* If @controller is active, this function returns %TRUE and fills * If @gesture is active, this function returns the zooming difference
* in @scale with the zooming difference since the gesture was * since the gesture was recognized (hence the starting point is
* recognized (hence the starting point is considered 1:1). * considered 1:1). If @gesture is not active, 1 is returned.
* *
* Returns: %TRUE if @controller is recognizing a zoom gesture * Returns: %TRUE if @controller is recognizing a zoom gesture
* *
* Since: 3.14 * Since: 3.14
**/ **/
gboolean gdouble
gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture, gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture)
gdouble *scale)
{ {
GtkGestureZoomPrivate *priv; GtkGestureZoomPrivate *priv;
gdouble distance; gdouble distance;
@ -209,12 +208,9 @@ gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture,
g_return_val_if_fail (GTK_IS_GESTURE_ZOOM (gesture), FALSE); g_return_val_if_fail (GTK_IS_GESTURE_ZOOM (gesture), FALSE);
if (!_gtk_gesture_zoom_get_distance (gesture, &distance)) if (!_gtk_gesture_zoom_get_distance (gesture, &distance))
return FALSE; return 1;
priv = gtk_gesture_zoom_get_instance_private (gesture); priv = gtk_gesture_zoom_get_instance_private (gesture);
if (scale) return distance / priv->initial_distance;
*scale = distance / priv->initial_distance;
return TRUE;
} }

View File

@ -46,8 +46,7 @@ GDK_AVAILABLE_IN_3_14
GtkGesture * gtk_gesture_zoom_new (GtkWidget *widget); GtkGesture * gtk_gesture_zoom_new (GtkWidget *widget);
GDK_AVAILABLE_IN_3_14 GDK_AVAILABLE_IN_3_14
gboolean gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture, gdouble gtk_gesture_zoom_get_scale_delta (GtkGestureZoom *gesture);
gdouble *scale);
G_END_DECLS G_END_DECLS