static void _init_colorselector(Evas_Object *obj) { Evas_Object *bx = NULL; Evas_Object *cs = NULL; Evas_Object *fr = NULL; bx = elm_box_add(obj); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); evas_object_size_hint_align_set(bx, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_win_resize_object_add(obj, bx); evas_object_show(bx); fr = elm_frame_add(obj); evas_object_size_hint_weight_set(fr, 1.0, 0.5); evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(fr, "Color Selector"); elm_box_pack_end(bx, fr); evas_object_show(fr); cs = elm_colorselector_add(obj); elm_colorselector_palette_name_set(cs, "painting"); evas_object_size_hint_weight_set(cs, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(cs, EVAS_HINT_FILL, 0.0); elm_colorselector_color_set(cs, 100, 100, 100, 133); evas_object_show(cs); elm_object_content_set(fr, cs); evas_object_resize(obj, 320, 480); }
static Evas_Object * _widget_colorselector_create(const char *style) { Evas_Object *o; o = elm_colorselector_add(win); EXPAND(o); FILL(o); elm_object_style_set(o, style); elm_colorselector_color_set(o, 255, 160, 132, 180); elm_colorselector_palette_color_add(o, 255, 90, 18, 255); elm_colorselector_palette_color_add(o, 255, 213, 0, 255); elm_colorselector_palette_color_add(o, 146, 255, 11, 255); elm_colorselector_palette_color_add(o, 9, 186, 10, 255); elm_colorselector_palette_color_add(o, 86, 201, 242, 255); elm_colorselector_palette_color_add(o, 18, 83, 128, 255); elm_colorselector_palette_color_add(o, 140, 53, 238, 255); elm_colorselector_palette_color_add(o, 255, 145, 145, 255); elm_colorselector_palette_color_add(o, 255, 59, 119, 255); elm_colorselector_palette_color_add(o, 133, 100, 69, 255); elm_colorselector_palette_color_add(o, 255, 255, 119, 255); elm_colorselector_palette_color_add(o, 133, 100, 255, 255); evas_object_show(o); return o; }
EAPI_MAIN int elm_main(int argc, char **argv) { Evas_Object *win, *cs, *rect, *bx, *fr; elm_policy_set(ELM_POLICY_QUIT, ELM_POLICY_QUIT_LAST_WINDOW_CLOSED); win = elm_win_util_standard_add("color selector", "Color selector"); elm_win_autodel_set(win, EINA_TRUE); bx = elm_box_add(win); evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND); elm_win_resize_object_add(win, bx); evas_object_show(bx); fr = elm_frame_add(win); evas_object_size_hint_weight_set(fr, 1.0, 0.5); evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(fr, "Color View"); elm_box_pack_end(bx, fr); evas_object_show(fr); rect = evas_object_rectangle_add(evas_object_evas_get(win)); elm_object_content_set(fr, rect); evas_object_color_set(rect, 255, 90, 18, 255); evas_object_show(rect); fr = elm_frame_add(win); evas_object_size_hint_weight_set(fr, 1.0, 0.5); evas_object_size_hint_align_set(fr, EVAS_HINT_FILL, EVAS_HINT_FILL); elm_object_text_set(fr, "Color Selector"); elm_box_pack_end(bx, fr); evas_object_show(fr); cs = elm_colorselector_add(win); elm_colorselector_palette_name_set(cs, "painting"); evas_object_size_hint_weight_set(cs, EVAS_HINT_EXPAND, 0.0); evas_object_size_hint_align_set(cs, EVAS_HINT_FILL, 0.0); elm_colorselector_color_set(cs, 255, 90, 18, 255); evas_object_show(cs); evas_object_smart_callback_add(cs, "changed", _change_color, rect); evas_object_smart_callback_add(cs, "color,item,selected", _colorpalette_clicked_cb, rect); evas_object_smart_callback_add(cs, "color,item,longpressed", _colorpalette_longpressed_cb, rect); elm_object_content_set(fr, cs); evas_object_resize(win, 320, 480); evas_object_show(win); elm_run(); return 0; }
static void _theme_hook(Evas_Object *obj) { Widget_Data *wd = elm_widget_data_get(obj); int i; if ((!wd) || (!wd->base)) return; _elm_theme_object_set(obj, wd->base, "colorselector", "bg", elm_widget_style_get(obj)); for (i = 0; i < 4; i++) { evas_object_del(wd->cp[i]->colorbar); wd->cp[i]->colorbar = NULL; evas_object_del(wd->cp[i]->bar); wd->cp[i]->bar = NULL; evas_object_del(wd->cp[i]->lbt); wd->cp[i]->lbt = NULL; evas_object_del(wd->cp[i]->rbt); wd->cp[i]->rbt = NULL; if (i != 0) { evas_object_del(wd->cp[i]->bg_rect); wd->cp[i]->bg_rect = NULL; } evas_object_del(wd->cp[i]->arrow); wd->cp[i]->arrow = NULL; evas_object_del(wd->cp[i]->touch_area); wd->cp[i]->touch_area = NULL; } _add_colorbar(obj); elm_colorselector_color_set(obj, wd->r, wd->g, wd->b, wd->a); _sizing_eval(obj); }