EAPI Eina_Bool edje_external_param_int_get(const Eina_List *params, const char *key, int *ret);
EAPI Eina_Bool edje_external_param_double_get(const Eina_List *params, const char *key, double *ret);
EAPI Eina_Bool edje_external_param_string_get(const Eina_List *params, const char *key, const char **ret);
- EAPI Eina_Bool edje_external_param_bool_get(const Eina_List *params, const char *key, const char **ret);
+ EAPI Eina_Bool edje_external_param_bool_get(const Eina_List *params, const char *key, Eina_Bool *ret);
EAPI const Edje_External_Param_Info *edje_external_param_info_get(const char *type_name);
/* edje_module.c */
switch(p->type)
{
case EDJE_EXTERNAL_PARAM_TYPE_INT:
+ case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
p->i = pi->info.i.def;
break;
case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
if (pi->info.s.def)
p->s = eina_stringshare_add(pi->info.s.def);
break;
+ default:
+ printf("ERROR: unknown external parameter type '%d'\n",
+ p->type);
}
pd->external_params = eina_list_append(pd->external_params, p);
pi++;
switch (p->type)
{
case EDJE_EXTERNAL_PARAM_TYPE_INT:
+ case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
*value = &p->i;
break;
case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
case EDJE_EXTERNAL_PARAM_TYPE_STRING:
*value = (void *)p->s;
break;
+ default:
+ printf("ERROR: unknown external parameter type '%d'\n",
+ p->type);
}
return EINA_TRUE;
}
return EINA_FALSE;
}
+/**
+ * Arguments should have proper sized values matching their types:
+ * - EDJE_EXTERNAL_PARAM_TYPE_INT: int
+ * - EDJE_EXTERNAL_PARAM_TYPE_BOOL: int
+ * - EDJE_EXTERNAL_PARAM_TYPE_DOUBLE: double
+ * - EDJE_EXTERNAL_PARAM_TYPE_STRING: char*
+ */
EAPI Eina_Bool
edje_edit_state_external_param_set(Evas_Object *obj, const char *part, const char *state, const char *param, Edje_External_Param_Type type, ...)
{
switch (type)
{
case EDJE_EXTERNAL_PARAM_TYPE_INT:
+ case EDJE_EXTERNAL_PARAM_TYPE_BOOL:
p->i = (int)va_arg(ap, int);
break;
case EDJE_EXTERNAL_PARAM_TYPE_DOUBLE:
case EDJE_EXTERNAL_PARAM_TYPE_STRING:
p->s = eina_stringshare_add((const char *)va_arg(ap, char *));
break;
+ default:
+ printf("ERROR: unknown external parameter type '%d'\n", type);
}
va_end(ap);