1 #include <clutter/clutter.h>
2
3 static const ClutterColor dark_grey = { 0x66, 0x66, 0x66, 0xff };
4 static const ClutterColor light_grey = { 0xcc, 0xcc, 0xcc, 0xff };
5
6 int
main(int argc,char * argv[])7 main (int argc, char *argv[])
8 {
9 ClutterActor *stage;
10 ClutterLayoutManager *layout;
11 ClutterActor *box;
12 ClutterActor *rect1, *rect2;
13 guint align_x, align_y, diff_x, diff_y;
14 ClutterColor *color;
15 ClutterActor *rect;
16
17 if (clutter_init (&argc, &argv) != CLUTTER_INIT_SUCCESS)
18 return 1;
19
20 stage = clutter_stage_new ();
21 clutter_actor_set_size (stage, 400, 400);
22 g_signal_connect (stage, "destroy", G_CALLBACK (clutter_main_quit), NULL);
23
24 layout = clutter_bin_layout_new (CLUTTER_BIN_ALIGNMENT_START,
25 CLUTTER_BIN_ALIGNMENT_START);
26
27 box = clutter_box_new (layout);
28
29 rect1 = clutter_rectangle_new_with_color (&dark_grey);
30 clutter_actor_set_size (rect1, 400, 200);
31
32 rect2 = clutter_rectangle_new_with_color (&light_grey);
33 clutter_actor_set_size (rect2, 200, 400);
34
35 clutter_container_add (CLUTTER_CONTAINER (box),
36 rect1,
37 rect2,
38 NULL);
39
40 /*
41 * 2 = CLUTTER_BIN_ALIGNMENT_START
42 * 3 = CLUTTER_BIN_ALIGNMENT_END
43 * 4 = CLUTTER_BIN_ALIGNMENT_CENTER
44 */
45 for (align_x = 2; align_x < 5; align_x++)
46 {
47 for (align_y = 2; align_y < 5; align_y++)
48 {
49 diff_x = align_x - 1;
50 if (align_x == 3)
51 diff_x = 3;
52 else if (align_x == 4)
53 diff_x = 2;
54
55 diff_y = align_y - 1;
56 if (align_y == 3)
57 diff_y = 3;
58 else if (align_y == 4)
59 diff_y = 2;
60
61 color = clutter_color_new (255 - diff_x * 50,
62 100 + diff_y * 50,
63 0,
64 255);
65 rect = clutter_rectangle_new_with_color (color);
66 clutter_actor_set_size (rect, 100, 100);
67 clutter_bin_layout_set_alignment (CLUTTER_BIN_LAYOUT (layout),
68 rect,
69 align_x,
70 align_y);
71 clutter_container_add_actor (CLUTTER_CONTAINER (box), rect);
72 }
73 }
74
75 clutter_container_add_actor (CLUTTER_CONTAINER (stage), box);
76
77 clutter_actor_show (stage);
78
79 clutter_main ();
80
81 return 0;
82 }
83