Color selector with selection callback
An example of color selector with specified callback, which logs currently selected color (RGBA format).
static void
colorselector_cb(void *data, Evas_Object *obj, void *event_info)
{
int r, g, b, a;
Elm_Object_Item *color_it = (Elm_Object_Item *) event_info;
elm_colorselector_palette_item_color_get(color_it, &r, &g, &b, &a);
evas_color_argb_premul(a, &r, &g, &b);
LOGI("Color changed to (RGBA): %d %d %d %d", r, g, b, a);
}
static Evas_Object *
create_colorselector(Evas_Object *parent)
{
Evas_Object *colorselector;
Elm_Object_Item *it;
Eina_List *color_list;
colorselector = elm_colorselector_add(parent);
elm_colorselector_mode_set(colorselector, ELM_COLORSELECTOR_PALETTE);
evas_object_size_hint_fill_set(colorselector, EVAS_HINT_FILL, EVAS_HINT_FILL);
color_list = elm_colorselector_palette_items_get(colorselector);
it = eina_list_nth(color_list, 0);
elm_object_item_signal_emit(it, "elm,state,selected", "elm");
evas_object_smart_callback_add(colorselector, "color,item,selected", colorselector_cb, NULL);
evas_object_show(colorselector);
return colorselector;
}