3
#include <clutter/clutter.h>
6
fullscreen_clicked_cb (ClutterStage *stage)
8
clutter_stage_set_fullscreen (stage, !clutter_stage_get_fullscreen (stage));
13
resize_clicked_cb (ClutterStage *stage)
15
clutter_stage_set_user_resizable (stage,
16
!clutter_stage_get_user_resizable (stage));
21
shrink_clicked_cb (ClutterActor *stage)
24
clutter_actor_get_size (stage, &width, &height);
25
clutter_actor_set_size (stage, MAX (0, width - 10.f), MAX (0, height - 10.f));
30
expand_clicked_cb (ClutterActor *stage)
33
clutter_actor_get_size (stage, &width, &height);
34
clutter_actor_set_size (stage, width + 10.f, height + 10.f);
39
test_stage_sizing_main (int argc, char *argv[])
43
ClutterActor *stage, *rect, *label;
45
clutter_init (&argc, &argv);
47
stage = clutter_stage_get_default ();
49
label = clutter_text_new_with_text ("Sans 16", "Toggle fullscreen");
50
clutter_color_from_string (&color, "light red");
51
rect = clutter_rectangle_new_with_color (&color);
52
clutter_actor_set_size (rect,
53
clutter_actor_get_width (label) + 20,
54
clutter_actor_get_height (label) + 20);
55
clutter_container_add (CLUTTER_CONTAINER (stage), rect, label, NULL);
56
clutter_actor_set_position (label, 10, 10);
57
clutter_actor_set_reactive (rect, TRUE);
58
g_signal_connect_swapped (rect, "button-press-event",
59
G_CALLBACK (fullscreen_clicked_cb), stage);
60
width = clutter_actor_get_width (rect);
62
label = clutter_text_new_with_text ("Sans 16", "Toggle resizable");
63
clutter_color_from_string (&color, "light green");
64
rect = clutter_rectangle_new_with_color (&color);
65
clutter_actor_set_size (rect,
66
clutter_actor_get_width (label) + 20,
67
clutter_actor_get_height (label) + 20);
68
clutter_container_add (CLUTTER_CONTAINER (stage), rect, label, NULL);
69
clutter_actor_set_x (rect, width);
70
clutter_actor_set_position (label, 10 + width, 10);
71
clutter_actor_set_reactive (rect, TRUE);
72
g_signal_connect_swapped (rect, "button-press-event",
73
G_CALLBACK (resize_clicked_cb), stage);
74
width += clutter_actor_get_width (rect);
76
label = clutter_text_new_with_text ("Sans 16", "Shrink");
77
clutter_color_from_string (&color, "light blue");
78
rect = clutter_rectangle_new_with_color (&color);
79
clutter_actor_set_size (rect,
80
clutter_actor_get_width (label) + 20,
81
clutter_actor_get_height (label) + 20);
82
clutter_container_add (CLUTTER_CONTAINER (stage), rect, label, NULL);
83
clutter_actor_set_x (rect, width);
84
clutter_actor_set_position (label, 10 + width, 10);
85
clutter_actor_set_reactive (rect, TRUE);
86
g_signal_connect_swapped (rect, "button-press-event",
87
G_CALLBACK (shrink_clicked_cb), stage);
88
width += clutter_actor_get_width (rect);
90
label = clutter_text_new_with_text ("Sans 16", "Expand");
91
clutter_color_from_string (&color, "light yellow");
92
rect = clutter_rectangle_new_with_color (&color);
93
clutter_actor_set_size (rect,
94
clutter_actor_get_width (label) + 20,
95
clutter_actor_get_height (label) + 20);
96
clutter_container_add (CLUTTER_CONTAINER (stage), rect, label, NULL);
97
clutter_actor_set_x (rect, width);
98
clutter_actor_set_position (label, 10 + width, 10);
99
clutter_actor_set_reactive (rect, TRUE);
100
g_signal_connect_swapped (rect, "button-press-event",
101
G_CALLBACK (expand_clicked_cb), stage);
102
width += clutter_actor_get_width (rect);
104
clutter_stage_set_minimum_size (CLUTTER_STAGE (stage),
106
clutter_actor_get_height (rect));
108
clutter_actor_show (stage);