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:
parent
8f7d5fb2c0
commit
9f8bd7a2bc
@ -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);
|
||||||
|
@ -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;
|
|
||||||
}
|
}
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user