From 1db75e521d94a952c9fb6b97d35d81da3e071a6a Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 27 Aug 2023 07:42:36 -0400 Subject: [PATCH] Simplify the path spinner demo The transforms were obscuring a simple calculation here. --- demos/gtk-demo/path_spinner.c | 27 ++++++++------------------- 1 file changed, 8 insertions(+), 19 deletions(-) diff --git a/demos/gtk-demo/path_spinner.c b/demos/gtk-demo/path_spinner.c index bd22246a0c..8279b77b36 100644 --- a/demos/gtk-demo/path_spinner.c +++ b/demos/gtk-demo/path_spinner.c @@ -56,9 +56,9 @@ gtk_spinner_paintable_get_intrinsic_height (GdkPaintable *paintable) static void gtk_spinner_paintable_snapshot (GdkPaintable *paintable, - GdkSnapshot *snapshot, - double width, - double height) + GdkSnapshot *snapshot, + double width, + double height) { GtkSpinnerPaintable *self = GTK_SPINNER_PAINTABLE (paintable); @@ -190,27 +190,16 @@ update_path (GtkSpinnerPaintable *self) { GskPathBuilder *builder; GskPathPoint start, end; - GskTransform *t; - graphene_point_t p, p0, p1; + graphene_point_t p0, p1; float start_angle, end_angle; - p = GRAPHENE_POINT_INIT (40, 0); start_angle = self->angle; end_angle = fmod (self->angle + 360 * self->completion / 100, 360); - t = gsk_transform_translate ( - gsk_transform_rotate ( - gsk_transform_translate (NULL, &GRAPHENE_POINT_INIT (50, 50)), - start_angle), - &GRAPHENE_POINT_INIT (-50, -50)); - gsk_transform_transform_point (t, &p, &p0); - - t = gsk_transform_translate ( - gsk_transform_rotate ( - gsk_transform_translate (NULL, &GRAPHENE_POINT_INIT (50, 50)), - end_angle), - &GRAPHENE_POINT_INIT (-50, -50)); - gsk_transform_transform_point (t, &p, &p1); + p0 = GRAPHENE_POINT_INIT (50 + 40 * cos (M_PI * start_angle / 180), + 50 + 40 * sin (M_PI * start_angle / 180)); + p1 = GRAPHENE_POINT_INIT (50 + 40 * cos (M_PI * end_angle / 180), + 50 + 40 * sin (M_PI * end_angle / 180)); g_clear_pointer (&self->path, gsk_path_unref);