From 5b10a2929e2b7149a68fbe07635ad01b48189f0d Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Thu, 21 Feb 2019 05:34:12 +0100 Subject: [PATCH] rendericon: Use new snapshot transforms --- gtk/gtkrendericon.c | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/gtk/gtkrendericon.c b/gtk/gtkrendericon.c index a4d867001f..f79862fa73 100644 --- a/gtk/gtkrendericon.c +++ b/gtk/gtkrendericon.c @@ -73,19 +73,16 @@ gtk_css_style_snapshot_icon (GtkCssStyle *style, } else { - graphene_matrix_t m1, m2, m3; + gtk_snapshot_save (snapshot); /* XXX: Implement -gtk-icon-transform-origin instead of hardcoding "50% 50%" here */ - graphene_matrix_init_translate (&m1, &GRAPHENE_POINT3D_INIT (width / 2.0, height / 2.0, 0)); - graphene_matrix_multiply (&transform_matrix, &m1, &m3); - graphene_matrix_init_translate (&m2, &GRAPHENE_POINT3D_INIT (- width / 2.0, - height / 2.0, 0)); - graphene_matrix_multiply (&m2, &m3, &m1); - - gtk_snapshot_push_transform (snapshot, &m1); + gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (width / 2.0, height / 2.0)); + gtk_snapshot_transform_matrix (snapshot, &transform_matrix); + gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (- width / 2.0, - height / 2.0)); gtk_css_image_builtin_snapshot (image, snapshot, width, height, builtin_type); - gtk_snapshot_pop (snapshot); + gtk_snapshot_restore (snapshot); } if (has_shadow) @@ -153,19 +150,16 @@ gtk_css_style_snapshot_icon_paintable (GtkCssStyle *style, } else { - graphene_matrix_t m1, m2, m3; + gtk_snapshot_save (snapshot); /* XXX: Implement -gtk-icon-transform-origin instead of hardcoding "50% 50%" here */ - graphene_matrix_init_translate (&m1, &GRAPHENE_POINT3D_INIT (width / 2.0, height / 2.0, 0)); - graphene_matrix_multiply (&transform_matrix, &m1, &m3); - graphene_matrix_init_translate (&m2, &GRAPHENE_POINT3D_INIT (- width / 2.0, - height / 2.0, 0)); - graphene_matrix_multiply (&m2, &m3, &m1); - - gtk_snapshot_push_transform (snapshot, &m1); + gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (width / 2.0, height / 2.0)); + gtk_snapshot_transform_matrix (snapshot, &transform_matrix); + gtk_snapshot_translate (snapshot, &GRAPHENE_POINT_INIT (- width / 2.0, - height / 2.0)); gdk_paintable_snapshot (paintable, snapshot, width, height); - gtk_snapshot_pop (snapshot); + gtk_snapshot_restore (snapshot); } if (recolor)