3 typedef struct _Elm_Params_colorpalette
6 Elm_Colorpalette_Color *color;
9 } Elm_Params_colorpalette;
12 external_colorpalette_state_set(void *data __UNUSED__, Evas_Object *obj, const void *from_params, const void *to_params, float pos __UNUSED__)
14 const Elm_Params_colorpalette *p;
15 if (to_params) p = to_params;
16 else if (from_params) p = from_params;
18 if ((p->row > 0)&&( p->col > 0))
19 elm_colorpalette_row_column_set(obj, p->row, p->col);
21 elm_colorpalette_color_set(obj, p->color_num, p->color);
25 external_colorpalette_param_set(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const Edje_External_Param *param)
27 if (!strcmp(param->name, "row"))
29 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
35 else if (!strcmp(param->name, "col"))
37 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
39 //No EAPI for column set
43 else if (!strcmp(param->name,"color_num"))
45 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING)
47 //No EAPI for colour_number set
51 ERR("unknown parameter '%s' of type '%s'",
52 param->name, edje_external_param_type_str(param->type));
58 external_colorpalette_param_get(void *data __UNUSED__, const Evas_Object *obj __UNUSED__, Edje_External_Param *param __UNUSED__)
60 //FIXME:getter functions not provided
65 external_colorpalette_params_parse(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const Eina_List *params)
67 Elm_Params_colorpalette *mem;
68 Edje_External_Param *param;
75 mem = calloc(1, sizeof(Elm_Params_colorpalette));
79 EINA_LIST_FOREACH(params, l, param)
81 if (!strcmp(param->name, "row"))
85 else if (!strcmp(param->name, "col"))
89 else if (!strcmp(param->name, "color_num"))
91 mem->color_num = param->i;
93 else if (!strcmp(param->name, "color_set"))
95 mem->color = calloc(mem->color_num, sizeof(Elm_Colorpalette_Color));
97 while (k < (mem->color_num) && (ll <= (int)strlen(s)))
106 mem->color[k].r = atoi(test);
116 mem->color[k].g = atoi(test);
121 while(s[ll]!='/' && m<3)
126 mem->color[k].b = atoi(test);
137 external_colorpalette_content_get(void *data __UNUSED__,
138 const Evas_Object *obj __UNUSED__,
139 const char *content __UNUSED__)
146 external_colorpalette_params_free(void *params)
148 Elm_Params_colorpalette *mem = params;
152 free(mem->color_set);
156 static Edje_External_Param_Info external_colorpalette_params[] = {
157 DEFINE_EXTERNAL_COMMON_PARAMS,
158 EDJE_EXTERNAL_PARAM_INFO_INT("row"),
159 EDJE_EXTERNAL_PARAM_INFO_INT("col"),
160 EDJE_EXTERNAL_PARAM_INFO_INT("r"),
161 EDJE_EXTERNAL_PARAM_INFO_INT("g"),
162 EDJE_EXTERNAL_PARAM_INFO_INT("b"),
163 EDJE_EXTERNAL_PARAM_INFO_STRING("color_set"),
164 EDJE_EXTERNAL_PARAM_INFO_INT("color_num"),
165 EDJE_EXTERNAL_PARAM_INFO_SENTINEL
168 DEFINE_EXTERNAL_ICON_ADD(colorpalette, "colorpalette");
169 DEFINE_EXTERNAL_TYPE_SIMPLE(colorpalette, "colorpalette");