[gtk] transform: Add skew parsing
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk] transform: Add skew parsing
- Date: Sat, 29 Jun 2019 07:07:37 +0000 (UTC)
commit 8dd74eac2e05d6edecbb1899f892ef542d3659d6
Author: Timm Bäder <mail baedert org>
Date: Sat Jun 29 07:12:10 2019 +0200
transform: Add skew parsing
gsk/gsktransform.c | 31 ++++++++++++++++++++++++++++---
1 file changed, 28 insertions(+), 3 deletions(-)
---
diff --git a/gsk/gsktransform.c b/gsk/gsktransform.c
index b88c74d34a..289e463bb7 100644
--- a/gsk/gsktransform.c
+++ b/gsk/gsktransform.c
@@ -1886,18 +1886,43 @@ gsk_transform_parser_parse (GtkCssParser *parser,
transform = gsk_transform_translate_3d (transform, &GRAPHENE_POINT3D_INIT (0.f, 0.f, f[0]));
}
-#if 0
- /* FIXME: add these */
else if (gtk_css_token_is_function (token, "skew"))
{
+ graphene_matrix_t matrix;
+
+ if (!gtk_css_parser_consume_function (parser, 2, 2, gsk_transform_parse_float, f))
+ goto fail;
+
+ f[0] = f[0] / 180.0 * G_PI;
+ f[1] = f[1] / 180.0 * G_PI;
+
+ graphene_matrix_init_skew (&matrix, f[0], f[1]);
+ transform = gsk_transform_matrix (transform, &matrix);
}
else if (gtk_css_token_is_function (token, "skewX"))
{
+ graphene_matrix_t matrix;
+
+ if (!gtk_css_parser_consume_function (parser, 1, 1, gsk_transform_parse_float, f))
+ goto fail;
+
+ f[0] = f[0] / 180.0 * G_PI;
+
+ graphene_matrix_init_skew (&matrix, f[0], 0);
+ transform = gsk_transform_matrix (transform, &matrix);
}
else if (gtk_css_token_is_function (token, "skewY"))
{
+ graphene_matrix_t matrix;
+
+ if (!gtk_css_parser_consume_function (parser, 1, 1, gsk_transform_parse_float, f))
+ goto fail;
+
+ f[0] = f[0] / 180.0 * G_PI;
+
+ graphene_matrix_init_skew (&matrix, 0, f[0]);
+ transform = gsk_transform_matrix (transform, &matrix);
}
-#endif
else
{
break;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]