1 #include <Elementary.h>
2 #ifndef ELM_LIB_QUICKLAUNCH
4 my_bt_go_300_300(void *data, Evas_Object *obj, void *event_info)
6 elm_scroller_region_bring_in((Evas_Object *)data, 300, 300, 318, 318);
10 my_bt_go_900_300(void *data, Evas_Object *obj, void *event_info)
12 elm_scroller_region_bring_in((Evas_Object *)data, 900, 300, 318, 318);
16 my_bt_go_300_900(void *data, Evas_Object *obj, void *event_info)
18 elm_scroller_region_bring_in((Evas_Object *)data, 300, 900, 318, 318);
22 my_bt_go_900_900(void *data, Evas_Object *obj, void *event_info)
24 elm_scroller_region_bring_in((Evas_Object *)data, 900, 900, 318, 318);
28 test_scroller(void *data, Evas_Object *obj, void *event_info)
30 Evas_Object *win, *bg2, *tb, *tb2, *bg, *sc, *bt;
46 win = elm_win_add(NULL, "scroller", ELM_WIN_BASIC);
47 elm_win_title_set(win, "Scroller");
48 elm_win_autodel_set(win, 1);
51 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
52 elm_win_resize_object_add(win, bg);
55 tb = elm_table_add(win);
56 evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
59 for (j = 0; j < 12; j++)
61 for (i = 0; i < 12; i++)
63 bg2 = elm_bg_add(win);
64 snprintf(buf, sizeof(buf), "%s/images/%s",
65 PACKAGE_DATA_DIR, img[n]);
68 elm_bg_file_set(bg2, buf, NULL);
69 evas_object_size_hint_weight_set(bg2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
70 evas_object_size_hint_align_set(bg2, EVAS_HINT_FILL, EVAS_HINT_FILL);
71 evas_object_size_hint_min_set(bg2, 318, 318);
72 elm_table_pack(tb, bg2, i, j, 1, 1);
73 evas_object_show(bg2);
77 sc = elm_scroller_add(win);
78 evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
79 elm_win_resize_object_add(win, sc);
81 elm_scroller_content_set(sc, tb);
84 elm_scroller_page_relative_set(sc, 1.0, 1.0);
85 // elm_scroller_page_size_set(sc, 200, 200);
88 tb2 = elm_table_add(win);
89 evas_object_size_hint_weight_set(tb2, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
90 elm_win_resize_object_add(win, tb2);
92 bt = elm_button_add(win);
93 elm_button_label_set(bt, "to 300 300");
94 evas_object_smart_callback_add(bt, "clicked", my_bt_go_300_300, sc);
95 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
96 evas_object_size_hint_align_set(bt, 0.1, 0.1);
97 elm_table_pack(tb2, bt, 0, 0, 1, 1);
100 bt = elm_button_add(win);
101 elm_button_label_set(bt, "to 900 300");
102 evas_object_smart_callback_add(bt, "clicked", my_bt_go_900_300, sc);
103 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
104 evas_object_size_hint_align_set(bt, 0.9, 0.1);
105 elm_table_pack(tb2, bt, 1, 0, 1, 1);
106 evas_object_show(bt);
108 bt = elm_button_add(win);
109 elm_button_label_set(bt, "to 300 900");
110 evas_object_smart_callback_add(bt, "clicked", my_bt_go_300_900, sc);
111 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
112 evas_object_size_hint_align_set(bt, 0.1, 0.9);
113 elm_table_pack(tb2, bt, 0, 1, 1, 1);
114 evas_object_show(bt);
116 bt = elm_button_add(win);
117 elm_button_label_set(bt, "to 900 900");
118 evas_object_smart_callback_add(bt, "clicked", my_bt_go_900_900, sc);
119 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
120 evas_object_size_hint_align_set(bt, 0.9, 0.9);
121 elm_table_pack(tb2, bt, 1, 1, 1, 1);
122 evas_object_show(bt);
124 evas_object_show(tb2);
126 evas_object_resize(win, 320, 320);
127 evas_object_show(win);
131 click_through(void *data, Evas_Object *obj, void *event_info)
133 printf("click went through on %p\n", obj);
137 test_scroller2(void *data, Evas_Object *obj, void *event_info)
139 Evas_Object *win, *bt, *bx, *bx2, *bg, *sc, *tb, *tb2, *rc;
142 win = elm_win_add(NULL, "scroller2", ELM_WIN_BASIC);
143 elm_win_title_set(win, "Scroller 2");
144 elm_win_autodel_set(win, 1);
146 bg = elm_bg_add(win);
147 evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
148 elm_win_resize_object_add(win, bg);
149 evas_object_show(bg);
151 bx = elm_box_add(win);
152 evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, 0.0);
153 evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, 0.0);
156 for (i = 0; i < 3; i++)
158 bt = elm_button_add(win);
159 elm_button_label_set(bt, "Vertical");
160 evas_object_smart_callback_add(bt, "clicked", click_through, NULL);
161 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
162 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
163 elm_box_pack_end(bx, bt);
164 evas_object_show(bt);
169 sc = elm_scroller_add(win);
170 evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, 0.0);
171 evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, 0.5);
172 elm_scroller_bounce_set(sc, 1, 0);
173 elm_scroller_content_min_limit(sc, 0, 1);
174 elm_box_pack_end(bx, sc);
175 evas_object_show(sc);
177 bx2 = elm_box_add(win);
178 elm_box_horizontal_set(bx2, 1);
180 for (i = 0; i < 10; i++)
182 bt = elm_button_add(win);
183 elm_button_label_set(bt, "... Horizontal scrolling ...");
184 evas_object_smart_callback_add(bt, "clicked", click_through, NULL);
185 elm_box_pack_end(bx2, bt);
186 evas_object_show(bt);
189 elm_scroller_content_set(sc, bx2);
190 evas_object_show(bx2);
194 for (i = 0; i < 3; i++)
196 bt = elm_button_add(win);
197 elm_button_label_set(bt, "Vertical");
198 evas_object_smart_callback_add(bt, "clicked", click_through, NULL);
199 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
200 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
201 elm_box_pack_end(bx, bt);
202 evas_object_show(bt);
207 tb = elm_table_add(win);
208 evas_object_size_hint_weight_set(tb, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
209 evas_object_size_hint_align_set(tb, EVAS_HINT_FILL, EVAS_HINT_FILL);
210 elm_box_pack_end(bx, tb);
211 evas_object_show(tb);
213 rc = evas_object_rectangle_add(evas_object_evas_get(win));
214 evas_object_size_hint_min_set(rc, 200, 120);
215 elm_table_pack(tb, rc, 0, 0, 1, 1);
217 sc = elm_scroller_add(win);
218 evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
219 evas_object_size_hint_align_set(sc, EVAS_HINT_FILL, EVAS_HINT_FILL);
220 elm_table_pack(tb, sc, 0, 0, 1, 1);
221 evas_object_show(sc);
223 tb2 = elm_table_add(win);
225 for (j = 0; j < 16; j++)
227 for (i = 0; i < 16; i++)
229 bt = elm_button_add(win);
230 elm_button_label_set(bt, "Both");
231 evas_object_smart_callback_add(bt, "clicked", click_through, NULL);
232 elm_table_pack(tb2, bt, i, j, 1, 1);
233 evas_object_show(bt);
237 elm_scroller_content_set(sc, tb2);
238 evas_object_show(tb2);
241 for (i = 0; i < 24; i++)
243 bt = elm_button_add(win);
244 elm_button_label_set(bt, "Vertical");
245 evas_object_smart_callback_add(bt, "clicked", click_through, NULL);
246 evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
247 evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, 0.5);
248 elm_box_pack_end(bx, bt);
249 evas_object_show(bt);
252 sc = elm_scroller_add(win);
253 evas_object_size_hint_weight_set(sc, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
254 elm_scroller_bounce_set(sc, 0, 1);
255 elm_win_resize_object_add(win, sc);
256 elm_scroller_content_set(sc, bx);
257 evas_object_show(bx);
258 evas_object_show(sc);
260 evas_object_resize(win, 320, 480);
261 evas_object_show(win);