summaryrefslogtreecommitdiff
path: root/tests/conform/actor-layout.c
blob: 2cc89400cec5663e06a45c16ce1c8bef52025e6e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
#include <clutter/clutter.h>

static void
actor_basic_layout (void)
{
  ClutterActor *stage = clutter_test_get_stage ();
  ClutterActor *vase;
  ClutterActor *flower[3];
  ClutterPoint p;

  vase = clutter_actor_new ();
  clutter_actor_set_name (vase, "Vase");
  clutter_actor_set_layout_manager (vase, clutter_flow_layout_new (CLUTTER_FLOW_HORIZONTAL));
  clutter_actor_add_child (stage, vase);

  flower[0] = clutter_actor_new ();
  clutter_actor_set_background_color (flower[0], CLUTTER_COLOR_Red);
  clutter_actor_set_size (flower[0], 100, 100);
  clutter_actor_set_name (flower[0], "Red Flower");
  clutter_actor_add_child (vase, flower[0]);

  flower[1] = clutter_actor_new ();
  clutter_actor_set_background_color (flower[1], CLUTTER_COLOR_Yellow);
  clutter_actor_set_size (flower[1], 100, 100);
  clutter_actor_set_name (flower[1], "Yellow Flower");
  clutter_actor_add_child (vase, flower[1]);

  flower[2] = clutter_actor_new ();
  clutter_actor_set_background_color (flower[2], CLUTTER_COLOR_Green);
  clutter_actor_set_size (flower[2], 100, 100);
  clutter_actor_set_name (flower[2], "Green Flower");
  clutter_actor_add_child (vase, flower[2]);

  clutter_point_init (&p, 50, 50);
  clutter_test_assert_actor_at_point (stage, &p, flower[0]);

  clutter_point_init (&p, 150, 50);
  clutter_test_assert_actor_at_point (stage, &p, flower[1]);

  clutter_point_init (&p, 250, 50);
  clutter_test_assert_actor_at_point (stage, &p, flower[2]);
}

static void
actor_margin_layout (void)
{
  ClutterActor *stage = clutter_test_get_stage ();
  ClutterActor *vase;
  ClutterActor *flower[3];
  ClutterPoint p;

  vase = clutter_actor_new ();
  clutter_actor_set_name (vase, "Vase");
  clutter_actor_set_layout_manager (vase, clutter_box_layout_new ());
  clutter_actor_add_child (stage, vase);

  flower[0] = clutter_actor_new ();
  clutter_actor_set_background_color (flower[0], CLUTTER_COLOR_Red);
  clutter_actor_set_size (flower[0], 100, 100);
  clutter_actor_set_name (flower[0], "Red Flower");
  clutter_actor_add_child (vase, flower[0]);

  flower[1] = clutter_actor_new ();
  clutter_actor_set_background_color (flower[1], CLUTTER_COLOR_Yellow);
  clutter_actor_set_size (flower[1], 100, 100);
  clutter_actor_set_name (flower[1], "Yellow Flower");
  clutter_actor_set_margin_right (flower[1], 6);
  clutter_actor_set_margin_left (flower[1], 6);
  clutter_actor_add_child (vase, flower[1]);

  flower[2] = clutter_actor_new ();
  clutter_actor_set_background_color (flower[2], CLUTTER_COLOR_Green);
  clutter_actor_set_size (flower[2], 100, 100);
  clutter_actor_set_name (flower[2], "Green Flower");
  clutter_actor_set_margin_top (flower[2], 6);
  clutter_actor_set_margin_bottom (flower[2], 6);
  clutter_actor_add_child (vase, flower[2]);

  clutter_point_init (&p, 0, 7);
  clutter_test_assert_actor_at_point (stage, &p, flower[0]);

  clutter_point_init (&p, 106, 50);
  clutter_test_assert_actor_at_point (stage, &p, flower[1]);

  clutter_point_init (&p, 212, 7);
  clutter_test_assert_actor_at_point (stage, &p, flower[2]);
}

CLUTTER_TEST_SUITE (
  CLUTTER_TEST_UNIT ("/actor/layout/basic", actor_basic_layout)
  CLUTTER_TEST_UNIT ("/actor/layout/margin", actor_margin_layout)
)