[gtk+/wip/baedert/gl: 20/23] test-render-nodes: Add transformed clip nodes test
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/wip/baedert/gl: 20/23] test-render-nodes: Add transformed clip nodes test
- Date: Sun, 19 Nov 2017 12:19:50 +0000 (UTC)
commit 2e28917052a5563459861ba884c608d66c2b25a0
Author: Timm Bäder <mail baedert org>
Date: Thu Nov 16 21:10:31 2017 +0100
test-render-nodes: Add transformed clip nodes test
testsuite/gsk/test-render-nodes.c | 71 +++++++++++++++++++++++++++++++++++++
1 files changed, 71 insertions(+), 0 deletions(-)
---
diff --git a/testsuite/gsk/test-render-nodes.c b/testsuite/gsk/test-render-nodes.c
index 9bc3b18..9057c2a 100644
--- a/testsuite/gsk/test-render-nodes.c
+++ b/testsuite/gsk/test-render-nodes.c
@@ -564,6 +564,76 @@ color_matrix1 (void)
return container_node;
}
+static GskRenderNode *
+transformed_clip (void)
+{
+ GskRenderNode *container_node;
+ GskRenderNode *transform_node;
+ GskRenderNode *clip_node;
+ GskRenderNode *nodes[4];
+ graphene_matrix_t transform;
+
+ {
+ clip_node = gsk_clip_node_new (ducky (),
+ &GRAPHENE_RECT_INIT (0, 0, 200, 500));
+
+ graphene_matrix_init_translate (&transform, &GRAPHENE_POINT3D_INIT (180, 0, 0));
+ nodes[0] = gsk_transform_node_new (clip_node, &transform);
+ }
+
+ {
+ graphene_matrix_init_translate (&transform, &GRAPHENE_POINT3D_INIT (0, 200, 0));
+ transform_node = gsk_transform_node_new (ducky (), &transform);
+
+ nodes[1] = gsk_clip_node_new (transform_node,
+ &GRAPHENE_RECT_INIT (0, 0, 500, 250));
+ }
+
+ {
+ graphene_vec3_t axis_vec;
+
+ graphene_matrix_init_translate (&transform, &GRAPHENE_POINT3D_INIT (150, 200, 0));
+ transform_node = gsk_transform_node_new (ducky (), &transform);
+ clip_node = gsk_clip_node_new (transform_node,
+ &GRAPHENE_RECT_INIT (150, 200, 91, 100));
+
+ graphene_vec3_init (&axis_vec, 0, 0, 1);
+ graphene_matrix_init_rotate (&transform, 20, &axis_vec);
+ /*graphene_matrix_init_identity (&transform);*/
+ nodes[2] = gsk_transform_node_new (clip_node, &transform);
+
+
+
+ /*GskColorStop *color_stops = g_newa (GskColorStop, 2);*/
+ /*graphene_matrix_init_translate (&transform, &GRAPHENE_POINT3D_INIT (300, 200, 0));*/
+
+ /*color_stops[0] = (GskColorStop){ 0.0f, (GdkRGBA){1, 0, 0, 1}};*/
+ /*color_stops[1] = (GskColorStop){ 1.0f, (GdkRGBA){0, 0, 1, 1}};*/
+ /*clip_node = gsk_linear_gradient_node_new (&GRAPHENE_RECT_INIT (0, 0, 300, 200),*/
+ /*&(graphene_point_t) {150, 0},*/
+ /*&(graphene_point_t) {150, 200},*/
+ /*color_stops,*/
+ /*2);*/
+
+ /*nodes[2] = gsk_transform_node_new (clip_node, &transform);*/
+ }
+
+ {
+ graphene_vec3_t axis_vec;
+
+ graphene_vec3_init (&axis_vec, 0, 0, 1);
+ graphene_matrix_init_rotate (&transform, 20, &axis_vec);
+ graphene_matrix_translate (&transform, &GRAPHENE_POINT3D_INIT (350, 200, 0));
+ transform_node = gsk_transform_node_new (ducky (), &transform);
+ nodes[3] = gsk_clip_node_new (transform_node,
+ &GRAPHENE_RECT_INIT (350, 200, 91, 100));
+ }
+
+ container_node = gsk_container_node_new (nodes, 4);
+
+ return container_node;
+}
+
static const struct {
const char *name;
GskRenderNode * (* func) (void);
@@ -579,6 +649,7 @@ static const struct {
{ "transform.node", transform },
{ "opacity.node", opacity },
{ "color-matrix1.node", color_matrix1},
+ { "transformed-clip.node", transformed_clip}
};
/*** test setup ***/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]