2 # include "elementary_config.h"
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
7 my_bt_go_300_300(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
9 elm_scroller_region_bring_in((Evas_Object *)data, 300, 300, 318, 318);
13 my_bt_go_900_300(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
15 elm_scroller_region_bring_in((Evas_Object *)data, 900, 300, 318, 318);
19 my_bt_go_300_900(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
21 elm_scroller_region_bring_in((Evas_Object *)data, 300, 900, 318, 318);
25 my_bt_go_900_900(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
27 elm_scroller_region_bring_in((Evas_Object *)data, 900, 900, 318, 318);
31 test_scroller(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
33 Evas_Object *win, *bg2, *tb, *tb2, *sc, *bt;
49 win = elm_win_util_standard_add("scroller", "Scroller");
50 elm_win_autodel_set(win, EINA_TRUE);
52 tb = elm_table_add(win);
53 evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
56 for (j = 0; j < 12; j++)
58 for (i = 0; i < 12; i++)
60 bg2 = elm_bg_add(win);
61 snprintf(buf, sizeof(buf), "%s/images/%s",
62 elm_app_data_dir_get(), img[n]);
65 elm_bg_file_set(bg2, buf, NULL);
66 evas_object_size_hint_weight_set(bg2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
67 evas_object_size_hint_align_set(bg2, EVAS_HINT_FILL, EVAS_HINT_FILL);
68 evas_object_size_hint_min_set(bg2, 318, 318);
69 elm_table_pack(tb, bg2, i, j, 1, 1);
70 evas_object_show(bg2);
74 sc = elm_scroller_add(win);
75 evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
76 elm_win_resize_object_add(win, sc);
78 elm_object_content_set(sc, tb);
81 elm_scroller_page_relative_set(sc, 1.0, 1.0);
84 tb2 = elm_table_add(win);
85 evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
86 elm_win_resize_object_add(win, tb2);
88 bt = elm_button_add(win);
89 elm_object_text_set(bt, "to 300 300");
90 evas_object_smart_callback_add(bt, "clicked", my_bt_go_300_300, sc);
91 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
92 evas_object_size_hint_align_set(bt, 0.1, 0.1);
93 elm_table_pack(tb2, bt, 0, 0, 1, 1);
96 bt = elm_button_add(win);
97 elm_object_text_set(bt, "to 900 300");
98 evas_object_smart_callback_add(bt, "clicked", my_bt_go_900_300, sc);
99 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
100 evas_object_size_hint_align_set(bt, 0.9, 0.1);
101 elm_table_pack(tb2, bt, 1, 0, 1, 1);
102 evas_object_show(bt);
104 bt = elm_button_add(win);
105 elm_object_text_set(bt, "to 300 900");
106 evas_object_smart_callback_add(bt, "clicked", my_bt_go_300_900, sc);
107 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
108 evas_object_size_hint_align_set(bt, 0.1, 0.9);
109 elm_table_pack(tb2, bt, 0, 1, 1, 1);
110 evas_object_show(bt);
112 bt = elm_button_add(win);
113 elm_object_text_set(bt, "to 900 900");
114 evas_object_smart_callback_add(bt, "clicked", my_bt_go_900_900, sc);
115 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
116 evas_object_size_hint_align_set(bt, 0.9, 0.9);
117 elm_table_pack(tb2, bt, 1, 1, 1, 1);
118 evas_object_show(bt);
120 evas_object_show(tb2);
122 evas_object_resize(win, 320, 320);
123 evas_object_show(win);
127 click_through(void *data __UNUSED__, Evas_Object *obj, void *event_info __UNUSED__)
129 printf("click went through on %p\n", obj);
133 test_scroller2(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
135 Evas_Object *win, *bt, *bx, *bx2, *sc, *tb, *tb2, *rc;
138 win = elm_win_util_standard_add("scroller2", "Scroller 2");
139 elm_win_autodel_set(win, EINA_TRUE);
141 bx = elm_box_add(win);
142 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
143 evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.0);
146 for (i = 0; i < 3; i++)
148 bt = elm_button_add(win);
149 elm_object_text_set(bt, "Vertical");
150 evas_object_smart_callback_add(bt, "clicked", click_through, NULL);
151 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
152 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
153 elm_box_pack_end(bx, bt);
154 evas_object_show(bt);
159 sc = elm_scroller_add(win);
160 evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, 0.0);
161 evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, 0.5);
162 elm_scroller_bounce_set(sc, EINA_TRUE, EINA_FALSE);
163 elm_scroller_content_min_limit(sc, 0, 1);
164 elm_box_pack_end(bx, sc);
165 evas_object_show(sc);
167 bx2 = elm_box_add(win);
168 elm_box_horizontal_set(bx2, EINA_TRUE);
170 for (i = 0; i < 10; i++)
172 bt = elm_button_add(win);
173 elm_object_text_set(bt, "... Horizontal scrolling ...");
174 evas_object_smart_callback_add(bt, "clicked", click_through, NULL);
175 elm_box_pack_end(bx2, bt);
176 evas_object_show(bt);
179 elm_object_content_set(sc, bx2);
180 evas_object_show(bx2);
184 for (i = 0; i < 3; i++)
186 bt = elm_button_add(win);
187 elm_object_text_set(bt, "Vertical");
188 evas_object_smart_callback_add(bt, "clicked", click_through, NULL);
189 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
190 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
191 elm_box_pack_end(bx, bt);
192 evas_object_show(bt);
197 tb = elm_table_add(win);
198 evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
199 evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
200 elm_box_pack_end(bx, tb);
201 evas_object_show(tb);
203 rc = evas_object_rectangle_add(evas_object_evas_get(win));
204 evas_object_size_hint_min_set(rc, 200, 120);
205 elm_table_pack(tb, rc, 0, 0, 1, 1);
207 sc = elm_scroller_add(win);
208 evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
209 evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL);
210 elm_table_pack(tb, sc, 0, 0, 1, 1);
211 evas_object_show(sc);
213 tb2 = elm_table_add(win);
215 for (j = 0; j < 16; j++)
217 for (i = 0; i < 16; i++)
219 bt = elm_button_add(win);
220 elm_object_text_set(bt, "Both");
221 evas_object_smart_callback_add(bt, "clicked", click_through, NULL);
222 elm_table_pack(tb2, bt, i, j, 1, 1);
223 evas_object_show(bt);
227 elm_object_content_set(sc, tb2);
228 evas_object_show(tb2);
231 for (i = 0; i < 24; i++)
233 bt = elm_button_add(win);
234 elm_object_text_set(bt, "Vertical");
235 evas_object_smart_callback_add(bt, "clicked", click_through, NULL);
236 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
237 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
238 elm_box_pack_end(bx, bt);
239 evas_object_show(bt);
242 sc = elm_scroller_add(win);
243 evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
244 elm_scroller_bounce_set(sc, EINA_FALSE, EINA_TRUE);
245 elm_win_resize_object_add(win, sc);
246 elm_object_content_set(sc, bx);
247 evas_object_show(bx);
248 evas_object_show(sc);
250 evas_object_resize(win, 320, 480);
251 evas_object_show(win);