[gtk/projective-transform: 2/2] Replace uses of graphene_matrix_transform_
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/projective-transform: 2/2] Replace uses of graphene_matrix_transform_
- Date: Tue, 1 Sep 2020 13:18:53 +0000 (UTC)
commit e36b5948678607fa33b2a8d05adfaa6ce8ee31a1
Author: Matthias Clasen <mclasen redhat com>
Date: Tue Sep 1 08:54:01 2020 -0400
Replace uses of graphene_matrix_transform_
Replace our uses of graphene_matrix_transform_point,
_point3d and _bounds by our own versions that handle
projective transforms correctly.
This fixes render node bounds being incorrect for widgets
involving projective transforms (e.g. testrevealer swing
transformations), and also fixes picking on such widgets.
gsk/gsktransform.c | 4 ++--
gtk/gtkwidget.c | 12 ++++++------
2 files changed, 8 insertions(+), 8 deletions(-)
---
diff --git a/gsk/gsktransform.c b/gsk/gsktransform.c
index feaec99187..337a27ed12 100644
--- a/gsk/gsktransform.c
+++ b/gsk/gsktransform.c
@@ -1822,7 +1822,7 @@ gsk_transform_transform_bounds (GskTransform *self,
graphene_matrix_t mat;
gsk_transform_to_matrix (self, &mat);
- graphene_matrix_transform_bounds (&mat, rect, out_rect);
+ gsk_matrix_transform_bounds (&mat, rect, out_rect);
}
break;
}
@@ -1878,7 +1878,7 @@ gsk_transform_transform_point (GskTransform *self,
graphene_matrix_t mat;
gsk_transform_to_matrix (self, &mat);
- graphene_matrix_transform_point (&mat, point, out_point);
+ gsk_matrix_transform_point (&mat, point, out_point);
}
break;
}
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index e8106fca84..ccc085256c 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -4050,7 +4050,7 @@ gtk_widget_compute_point (GtkWidget *widget,
return FALSE;
}
- graphene_matrix_transform_point (&transform, point, out_point);
+ gsk_matrix_transform_point (&transform, point, out_point);
return TRUE;
}
@@ -9370,8 +9370,8 @@ gtk_widget_do_pick (GtkWidget *widget,
gsk_transform_unref (transform);
graphene_point3d_init (&p0, x, y, 0);
graphene_point3d_init (&p1, x, y, 1);
- graphene_matrix_transform_point3d (&inv, &p0, &p0);
- graphene_matrix_transform_point3d (&inv, &p1, &p1);
+ gsk_matrix_transform_point3d (&inv, &p0, &p0);
+ gsk_matrix_transform_point3d (&inv, &p1, &p1);
if (fabs (p0.z - p1.z) < 1.f / 4096)
continue;
@@ -9547,9 +9547,9 @@ gtk_widget_compute_bounds (GtkWidget *widget,
}
gtk_css_boxes_init (&boxes, widget);
- graphene_matrix_transform_bounds (&transform,
- gtk_css_boxes_get_border_rect (&boxes),
- out_bounds);
+ gsk_matrix_transform_bounds (&transform,
+ gtk_css_boxes_get_border_rect (&boxes),
+ out_bounds);
return TRUE;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]