From 8dc48d032245e33f65750e38edecd0eb49d6a4ac Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Sun, 8 Oct 2017 13:49:59 -0400 Subject: [PATCH] Expand the repeat node test Still not exhaustive, but enough to find some issues. --- testsuite/gsk/repeat.node | Bin 480164 -> 1921103 bytes testsuite/gsk/repeat.png | Bin 604 -> 2578 bytes testsuite/gsk/test-render-nodes.c | 44 ++++++++++++++++++++++++++---- 3 files changed, 39 insertions(+), 5 deletions(-) diff --git a/testsuite/gsk/repeat.node b/testsuite/gsk/repeat.node index 3b57cf220326903a21af806d36de178b37a33035..9595ee0c53562989ccd954d9d5e8a3cfb7ac6e7e 100644 GIT binary patch delta 515 zcmZ3oT=x8e(g`Arj1vWACl;_Y>b2@Iw(2pp>M^(Kv9#*3w(7BM)nhLT7T{t)1|RGv zCW=lhU;`soCTv_01``KlEes4F?0F|9$~5Y>>N2+KGPUY5x9YOA>aw=#vTfC6FAmmV z&`3c8rDd8xBgnAY1)J5POqC9e8m$_Ptr|?N8qBR4EUg->tr~1wHP|btV!QSSdlVlx zWJ8@1c>qNm5)z`ukx=PODBS|3VT#e^D;=1i!S2J;*wEU**xJC<+Q8h}z|z{l+S delta 46 zcmX@VpmfP{*$E>ufuP;2bdyoyQSz0xep@@IS>;?tk~d0PEX`p>)j z-xwHX2&ynBv2Zr9I5H_XPGIm5P+<@n<4Wtdm= z?iQ|hcyV;g;6P42Ip__6H`a6xwtC>S~QYS;VFVdQ&MBb@ E0M@PCbN~PV literal 604 zcmeAS@N?(olHy`uVBq!ia0vp^CqS5k2}mkgS)K$^Y)RhkE)4%caKYZ?lNlJ81U+3G zLn`LHz2wNrpuljzVQYQ5?n8kmdI#lZS0AW-UCK~zB*vLM(O{GqAz@(AWy{pxFxmSt QFu5>zy85}Sb4q9e062%9qyPW_ diff --git a/testsuite/gsk/test-render-nodes.c b/testsuite/gsk/test-render-nodes.c index 1668239919..f39f725540 100644 --- a/testsuite/gsk/test-render-nodes.c +++ b/testsuite/gsk/test-render-nodes.c @@ -157,18 +157,52 @@ cairo (void) static GskRenderNode * repeat (void) { - GskRenderNode *repeat; + GskRenderNode *repeat[4]; GskRenderNode *child; + GskRenderNode *transform; + GskRenderNode *container; + graphene_matrix_t matrix; child = cairo (); - repeat = gsk_repeat_node_new (&GRAPHENE_RECT_INIT (0, 0, 200, 200), - child, - &GRAPHENE_RECT_INIT (0, 0, 200, 600)); + repeat[0] = gsk_repeat_node_new (&GRAPHENE_RECT_INIT (0, 0, 200, 200), + child, + &GRAPHENE_RECT_INIT (0, 0, 200, 600)); + repeat[1] = gsk_repeat_node_new (&GRAPHENE_RECT_INIT (0, 200, 200, 200), + child, + &GRAPHENE_RECT_INIT (0, 0, 200, 600)); + repeat[2] = gsk_repeat_node_new (&GRAPHENE_RECT_INIT (0, 400, 200, 200), + child, + &GRAPHENE_RECT_INIT (0, 0, 200, 600)); + repeat[3] = gsk_repeat_node_new (&GRAPHENE_RECT_INIT (0, 100, 200, 640), + child, + &GRAPHENE_RECT_INIT (0, 100, 200, 400)); gsk_render_node_unref (child); - return repeat; + graphene_matrix_init_translate (&matrix, &(const graphene_point3d_t) { 0, 20, 0 }); + transform = gsk_transform_node_new (repeat[1], &matrix); + gsk_render_node_unref (repeat[1]); + repeat[1] = transform; + + graphene_matrix_init_translate (&matrix, &(const graphene_point3d_t) { 0, 40, 0 }); + transform = gsk_transform_node_new (repeat[2], &matrix); + gsk_render_node_unref (repeat[2]); + repeat[2] = transform; + + graphene_matrix_init_translate (&matrix, &(const graphene_point3d_t) { 220, -100, 0 }); + transform = gsk_transform_node_new (repeat[3], &matrix); + gsk_render_node_unref (repeat[3]); + repeat[3] = transform; + + container = gsk_container_node_new (repeat, 4); + + gsk_render_node_unref (repeat[0]); + gsk_render_node_unref (repeat[1]); + gsk_render_node_unref (repeat[2]); + gsk_render_node_unref (repeat[3]); + + return container; } static const struct {