fixed plugin image size problem
[framework/uifw/elementary.git] / src / bin / test_colorselector.c
1 #ifdef HAVE_CONFIG_H
2 # include "elementary_config.h"
3 #endif
4 #include <Elementary.h>
5 #ifndef ELM_LIB_QUICKLAUNCH
6
7 static void
8 _colorselector_clicked_cb(void *data, Evas_Object *obj,
9                           void *event_info __UNUSED__)
10 {
11    Evas_Object *re = data;
12    int r, g, b, a;
13
14    elm_colorselector_color_get(obj, &r, &g, &b, &a);
15    printf("Current Color [r=%d g=%d b=%d a=%d]\n",r, g, b, a);
16
17    /* Fix Alpha pre multiplication by edje */
18    r = (r * a) / 255;
19    g = (g * a) / 255;
20    b = (b * a) / 255;
21
22    evas_object_color_set(re, r, g, b, a);
23 }
24
25 static void
26 _colorpalette_clicked_cb(void *data, Evas_Object *obj __UNUSED__,
27                          void *event_info)
28 {
29    int r = 0, g = 0, b = 0 ,a = 0;
30    Elm_Object_Item *color_it = (Elm_Object_Item *) event_info;
31    elm_colorselector_palette_item_color_get(color_it, &r, &g, &b, &a);
32    evas_object_color_set((Evas_Object *) data, r, g, b , a);
33 }
34
35 static void
36 _colorpalette_longpressed_cb(void *data __UNUSED__, Evas_Object *obj __UNUSED__,
37                              void *event_info)
38 {
39    int r = 0,g = 0,b = 0 ,a = 0;
40    Elm_Object_Item *color_it = (Elm_Object_Item *) event_info;
41    elm_colorselector_palette_item_color_get(color_it, &r, &g, &b, &a);
42    printf("\ncolor = %d-%d-%d-%d\n", r, g, b, a);
43 }
44
45 static void
46 _palette_cb(void *data, Evas_Object *obj __UNUSED__,
47             void *event_info __UNUSED__)
48 {
49    Evas_Object *cs = data;
50    Evas_Object *win = evas_object_data_get(cs, "win");
51    elm_colorselector_mode_set(cs, ELM_COLORSELECTOR_PALETTE);
52    evas_object_resize(win, 320, 300);
53 }
54
55 static void
56 _components_cb(void *data, Evas_Object *obj __UNUSED__,
57                void *event_info __UNUSED__)
58 {
59    Evas_Object *cs = data;
60    Evas_Object *win = evas_object_data_get(cs, "win");
61    elm_colorselector_mode_set(cs, ELM_COLORSELECTOR_COMPONENTS);
62    evas_object_resize(win, 320, 455);
63 }
64
65 static void
66 _both_cb(void *data, Evas_Object *obj __UNUSED__, void *event_info __UNUSED__)
67 {
68    Evas_Object *cs = data;
69    Evas_Object *win = evas_object_data_get(cs, "win");
70    elm_colorselector_mode_set(cs, ELM_COLORSELECTOR_BOTH);
71    evas_object_resize(win, 320, 535);
72 }
73
74 void
75 test_colorselector(void *data __UNUSED__, Evas_Object *obj __UNUSED__,
76                    void *event_info __UNUSED__)
77 {
78    Evas_Object *win, *bx, *bx2, *cs, *fr, *re, *bt;
79    int r, g, b, a;
80
81    win = elm_win_util_standard_add("colorselector", "ColorSelector");
82    elm_win_autodel_set(win, EINA_TRUE);
83
84    bx = elm_box_add(win);
85    evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
86    elm_win_resize_object_add(win, bx);
87    evas_object_show(bx);
88
89    fr = elm_frame_add(bx);
90    evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, 0);
91    evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL);
92    elm_object_text_set(fr, "Color View");
93    elm_box_pack_end(bx, fr);
94    evas_object_show(fr);
95
96    re = evas_object_rectangle_add(evas_object_evas_get(win));
97    evas_object_size_hint_min_set(re, 1, 100);
98    evas_object_show(re);
99    elm_object_content_set(fr, re);
100
101    fr = elm_frame_add(bx);
102    evas_object_size_hint_weight_set(fr, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
103    evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL);
104    elm_object_text_set(fr, "Color Selector");
105    elm_box_pack_end(bx, fr);
106    evas_object_show(fr);
107
108    cs = elm_colorselector_add(fr);
109    elm_colorselector_palette_color_add(cs, 255, 90, 18, 255);
110    elm_colorselector_palette_color_add(cs, 255, 213, 0, 255);
111    elm_colorselector_palette_color_add(cs, 146, 255, 11, 255);
112    elm_colorselector_palette_color_add(cs, 9, 186, 10, 255);
113    elm_colorselector_palette_color_add(cs, 86, 201, 242, 255);
114    elm_colorselector_palette_color_add(cs, 18, 83, 128, 255);
115    elm_colorselector_palette_color_add(cs, 140, 53, 238, 255);
116    elm_colorselector_palette_color_add(cs, 255, 145, 145, 255);
117    elm_colorselector_palette_color_add(cs, 255, 59, 119, 255);
118    elm_colorselector_palette_color_add(cs, 133, 100, 69, 255);
119    elm_colorselector_palette_color_add(cs, 255, 255, 119, 255);
120    elm_colorselector_palette_color_add(cs, 133, 100, 255, 255);
121
122    a = 180;
123    r = 255;
124    g = 160;
125    b = 132;
126
127    elm_colorselector_color_set(cs, r, g, b, a);
128    evas_object_size_hint_weight_set(cs, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
129    evas_object_size_hint_align_set(cs, EVAS_HINT_FILL, EVAS_HINT_FILL);
130    elm_object_content_set(fr, cs);
131    evas_object_show(cs);
132    evas_object_smart_callback_add(cs, "changed", _colorselector_clicked_cb, re);
133    evas_object_smart_callback_add(cs, "color,item,selected",
134                                   _colorpalette_clicked_cb, re);
135    evas_object_smart_callback_add(cs, "color,item,longpressed",
136                                   _colorpalette_longpressed_cb, re);
137    evas_object_data_set(cs, "win", win);
138
139    elm_colorselector_color_get(cs, &r, &g, &b, &a);
140    /* Fix Alpha pre multiplication by edje */
141    r = (r * a) / 255;
142    g = (g * a) / 255;
143    b = (b * a) / 255;
144    evas_object_color_set(re, r, g, b, a);
145
146    bx2 = elm_box_add(bx);
147    elm_box_horizontal_set(bx2, EINA_TRUE);
148    evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0);
149    evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
150    evas_object_show(bx2);
151    elm_box_pack_end(bx, bx2);
152
153    bt = elm_button_add(bx2);
154    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
155    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
156    evas_object_smart_callback_add(bt, "clicked", _palette_cb, cs);
157    elm_object_text_set(bt, "Palette");
158    evas_object_show(bt);
159    elm_box_pack_end(bx2, bt);
160
161    bt = elm_button_add(bx2);
162    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
163    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
164    evas_object_smart_callback_add(bt, "clicked", _components_cb, cs);
165    elm_object_text_set(bt, "Components");
166    evas_object_show(bt);
167    elm_box_pack_end(bx2, bt);
168
169    bt = elm_button_add(bx2);
170    evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
171    evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
172    evas_object_smart_callback_add(bt, "clicked", _both_cb, cs);
173    elm_object_text_set(bt, "Both");
174    evas_object_show(bt);
175    elm_box_pack_end(bx2, bt);
176
177    evas_object_resize(win, 320, 500);
178    evas_object_show(win);
179 }
180 #endif