5 typedef struct _Elm_Params_colorpalette
8 Elm_Colorpalette_Color *color;
12 } Elm_Params_colorpalette;
15 external_colorpalette_state_set(void *data __UNUSED__, Evas_Object *obj, const void *from_params, const void *to_params, float pos __UNUSED__)
17 const Elm_Params_colorpalette *p;
18 if (to_params) p = to_params;
19 else if (from_params) p = from_params;
21 if((p->row > 0)&&( p->col > 0))
22 elm_colorpalette_row_column_set(obj,p->row,p->col) ;
24 elm_colorpalette_color_set(obj,p->color_num, p->color) ;
28 external_colorpalette_param_set(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const Edje_External_Param *param)
30 if (!strcmp(param->name, "row"))
32 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
38 else if (!strcmp(param->name, "col"))
40 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_INT)
42 //No EAPI for column set
46 else if (!strcmp(param->name,"color_num"))
48 if (param->type == EDJE_EXTERNAL_PARAM_TYPE_STRING)
50 //No EAPI for colour_number set
54 ERR("unknown parameter '%s' of type '%s'",
55 param->name, edje_external_param_type_str(param->type));
61 external_colorpalette_param_get(void *data __UNUSED__, const Evas_Object *obj __UNUSED__, Edje_External_Param *param __UNUSED__)
64 //FIX ME:getter functions not provided
68 external_colorpalette_params_parse(void *data __UNUSED__, Evas_Object *obj __UNUSED__, const Eina_List *params)
70 Elm_Params_colorpalette *mem;
71 Edje_External_Param *param;
78 mem = calloc(1, sizeof(Elm_Params_colorpalette));
82 EINA_LIST_FOREACH(params, l, param)
84 if (!strcmp(param->name, "row"))
88 else if (!strcmp(param->name, "col"))
92 else if (!strcmp(param->name, "color_num"))
94 mem->color_num = param->i ;
97 else if (!strcmp(param->name, "color_set"))
99 mem->color = (Elm_Colorpalette_Color*) calloc (mem->color_num, sizeof(Elm_Colorpalette_Color));
101 while(k <(mem->color_num) && (ll <= (int)strlen(s)))
110 mem->color[k].r = atoi(test) ;
120 mem->color[k].g = atoi(test) ;
125 while(s[ll]!='/' && m<3)
130 mem->color[k].b = atoi(test) ;
140 static Evas_Object *external_colorpalette_content_get(void *data __UNUSED__,
141 const Evas_Object *obj __UNUSED__, const char *content __UNUSED__)
148 external_colorpalette_params_free(void *params)
150 Elm_Params_colorpalette *mem = params;
154 free(mem->color_set) ;
158 static Edje_External_Param_Info external_colorpalette_params[] = {
159 DEFINE_EXTERNAL_COMMON_PARAMS,
160 EDJE_EXTERNAL_PARAM_INFO_INT("row"),
161 EDJE_EXTERNAL_PARAM_INFO_INT("col"),
162 EDJE_EXTERNAL_PARAM_INFO_INT("r"),
163 EDJE_EXTERNAL_PARAM_INFO_INT("g"),
164 EDJE_EXTERNAL_PARAM_INFO_INT("b"),
165 EDJE_EXTERNAL_PARAM_INFO_STRING("color_set"),
166 EDJE_EXTERNAL_PARAM_INFO_INT("color_num"),
167 EDJE_EXTERNAL_PARAM_INFO_SENTINEL
170 DEFINE_EXTERNAL_ICON_ADD(colorpalette, "colorpalette");
171 DEFINE_EXTERNAL_TYPE_SIMPLE(colorpalette, "colorpalette");