Merge branch 'intefl/svn_merge' of ssh://165.213.149.219:21922/slp/pkgs/e/elementary...
[framework/uifw/elementary.git] / src / bin / test_icon.c
1 #include <Elementary.h>
2 #ifdef HAVE_CONFIG_H
3 # include "elementary_config.h"
4 #endif
5 #ifndef ELM_LIB_QUICKLAUNCH
6 <<<<<<< HEAD
7 =======
8
9 static void
10 aspect_fixed_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
11 {
12    Evas_Object *ic = (Evas_Object *)data;
13    elm_icon_aspect_fixed_set(ic, elm_check_state_get(obj));
14 }
15
16 static void
17 fill_outside_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
18 {
19    Evas_Object *ic = (Evas_Object *)data;
20    elm_icon_fill_outside_set(ic, elm_check_state_get(obj));
21 }
22
23 static void
24 smooth_cb(void *data, Evas_Object *obj, void *event_info __UNUSED__)
25 {
26    Evas_Object *ic = (Evas_Object *)data;
27    elm_icon_smooth_set(ic, elm_check_state_get(obj));
28 }
29
30 static void
31 bt_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
32 {
33    Evas_Object *win, *ic;
34    char buf[PATH_MAX];
35
36    win = elm_win_util_standard_add("preload-prescale", "Preload & Prescale");
37    elm_win_autodel_set(win, EINA_TRUE);
38
39    ic = elm_icon_add(win);
40    elm_win_resize_object_add(win, ic);
41    snprintf(buf, sizeof(buf), "%s/images/insanely_huge_test_image.jpg",
42             elm_app_data_dir_get());
43    elm_icon_file_set(ic, buf, NULL);
44
45    evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
46    evas_object_size_hint_align_set(ic, EVAS_HINT_FILL, EVAS_HINT_FILL);
47    elm_icon_resizable_set(ic, EINA_TRUE, EINA_TRUE);
48    elm_icon_aspect_fixed_set(ic, EINA_FALSE);
49    elm_icon_preload_disabled_set(ic, EINA_TRUE);
50    elm_icon_prescale_set(ic, EINA_TRUE);
51    evas_object_show(ic);
52
53    evas_object_resize(win, 350, 350);
54    evas_object_show(win);
55 }
56
57 void
58 test_icon(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
59 {
60    Evas_Object *win, *box, *content_box, *hbox, *tg, *bt;
61    win = elm_win_util_standard_add("icon test", "Icon Test");
62    elm_win_autodel_set(win, EINA_TRUE);
63
64    box = elm_box_add(win);
65    elm_win_resize_object_add(win, box);
66    evas_object_size_hint_weight_set(box, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
67    evas_object_show(box);
68
69    content_box = elm_box_add(win);
70    elm_win_resize_object_add(win, content_box);
71    evas_object_size_hint_weight_set(content_box, EVAS_HINT_EXPAND,
72                                     EVAS_HINT_EXPAND);
73    evas_object_size_hint_align_set(content_box, EVAS_HINT_FILL,
74                                    EVAS_HINT_FILL);
75    elm_box_pack_end(box, content_box);
76    evas_object_show(content_box);
77
78    Evas_Object *ic = elm_icon_add(win);
79    char buf[PATH_MAX];
80    snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get());
81    elm_icon_file_set(ic, buf, NULL);
82    elm_icon_resizable_set(ic, EINA_TRUE, EINA_TRUE);
83    evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
84    evas_object_size_hint_align_set(ic, EVAS_HINT_FILL, EVAS_HINT_FILL);
85
86    elm_box_pack_end(content_box, ic);
87    evas_object_show(ic);
88
89    hbox = elm_box_add(win);
90    elm_box_horizontal_set(hbox, EINA_TRUE);
91    evas_object_size_hint_weight_set(content_box, EVAS_HINT_EXPAND,
92                                     EVAS_HINT_EXPAND);
93    elm_box_pack_end(box, hbox);
94    evas_object_show(hbox);
95
96    /* Test Aspect Fixed */
97    tg = elm_check_add(win);
98    elm_object_text_set(tg, "Aspect Fixed");
99    elm_check_state_set(tg, EINA_TRUE);
100    evas_object_smart_callback_add(tg, "changed", aspect_fixed_cb, ic);
101    elm_box_pack_end(hbox, tg);
102    evas_object_show(tg);
103
104    /* Test Fill Outside */
105    tg = elm_check_add(win);
106    elm_object_text_set(tg, "Fill Outside");
107    evas_object_smart_callback_add(tg, "changed", fill_outside_cb, ic);
108    elm_box_pack_end(hbox, tg);
109    evas_object_show(tg);
110
111    /* Test Smooth */
112    tg = elm_check_add(win);
113    elm_object_text_set(tg, "Smooth");
114    elm_check_state_set(tg, EINA_TRUE);
115    evas_object_smart_callback_add(tg, "changed", smooth_cb, ic);
116    elm_box_pack_end(hbox, tg);
117    evas_object_show(tg);
118
119    /* Test Preload, Prescale */
120    bt = elm_button_add(win);
121    elm_object_text_set(bt, "Preload & Prescale");
122    evas_object_smart_callback_add(bt, "clicked", bt_clicked, NULL);
123    elm_box_pack_end(hbox, bt);
124    evas_object_show(bt);
125
126    evas_object_resize(win, 400, 400);
127    evas_object_show(win);
128 }
129
130 >>>>>>> remotes/origin/upstream
131 static void
132 icon_clicked(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
133 {
134    printf("clicked!\n");
135 }
136
137 void
138 <<<<<<< HEAD
139 test_icon(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
140 =======
141 test_icon_transparent(void *data __UNUSED__, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
142 >>>>>>> remotes/origin/upstream
143 {
144    Evas_Object *win, *ic;
145    char buf[PATH_MAX];
146
147    win = elm_win_add(NULL, "icon-transparent", ELM_WIN_BASIC);
148    elm_win_title_set(win, "Icon Transparent");
149    elm_win_autodel_set(win, EINA_TRUE);
150    elm_win_alpha_set(win, EINA_TRUE);
151
152    ic = elm_icon_add(win);
153    snprintf(buf, sizeof(buf), "%s/images/logo.png", elm_app_data_dir_get());
154    elm_icon_file_set(ic, buf, NULL);
155 <<<<<<< HEAD
156    elm_icon_scale_set(ic, 0, 0);
157 =======
158    elm_icon_resizable_set(ic, 0, 0);
159 >>>>>>> remotes/origin/upstream
160    elm_icon_no_scale_set(ic, 1);
161    evas_object_size_hint_weight_set(ic, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
162    evas_object_size_hint_fill_set(ic, 0.5, 0.5);
163    elm_win_resize_object_add(win, ic);
164    evas_object_show(ic);
165
166    evas_object_smart_callback_add(ic, "clicked", icon_clicked, NULL);
167
168    evas_object_show(win);
169 }
170 #endif