Edje_Part_Description *ed, *parent = NULL;
Eina_List *l;
Edje_Part_Image_Id *iid;
- char *parent_name, *state_name;
+ char *parent_name;
+ const char *state_name;
double parent_val, state_val;
check_arg_count(2);
}
static void
-check_packed_items(Edje_Part_Collection *pc, Edje_Part *ep, Edje_File *ef)
+check_packed_items(Edje_Part_Collection *pc, Edje_Part *ep, Eet_File *ef)
{
Eina_List *l;
Edje_Pack_Element *it;
eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
eddc.func.mem_alloc = NULL;
eddc.func.mem_free = NULL;
- eddc.func.str_alloc = eina_stringshare_add;
- eddc.func.str_free = eina_stringshare_del;
- eddc.func.list_next = eina_list_next;
- eddc.func.list_append = eina_list_append;
- eddc.func.list_data = eina_list_data_get;
- eddc.func.list_free = eina_list_free;
- eddc.func.hash_foreach = evas_hash_foreach;
- eddc.func.hash_add = evas_hash_add;
- eddc.func.hash_free = evas_hash_free;
+ eddc.func.str_alloc = (char *(*)(const char *))eina_stringshare_add;
+ eddc.func.str_free = (void (*)(const char *))eina_stringshare_del;
+ eddc.func.list_next = (void *(*)(void *))eina_list_next;
+ eddc.func.list_append = (void *(*)(void *, void *))eina_list_append;
+ eddc.func.list_data = (void *(*)(void *))eina_list_data_get;
+ eddc.func.list_free = (void *(*)(void *))eina_list_free;
+ eddc.func.hash_foreach = (void (*)(void *, int (*) (void *, const char *, void *, void *), void *))evas_hash_foreach;
+ eddc.func.hash_add = (void *(*)(void *, const char *, void *))evas_hash_add;
+ eddc.func.hash_free = (void (*)(void *))evas_hash_free;
eddc.func.str_direct_alloc = _edje_str_direct_alloc;
eddc.func.str_direct_free = _edje_str_direct_free;
EAPI void edje_object_part_text_select_none(const Evas_Object *obj, const char *part);
EAPI void edje_object_part_text_select_all(const Evas_Object *obj, const char *part);
- EAPI void edje_object_part_text_insert (Evas_Object *obj, const char *part, const char *text);
- EAPI Eina_List *edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part);
- EAPI Eina_List *edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *part, const char *anchor);
- EAPI void edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
+ EAPI void edje_object_part_text_insert (Evas_Object *obj, const char *part, const char *text);
+ EAPI const Eina_List *edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part);
+ EAPI const Eina_List *edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *part, const char *anchor);
+ EAPI void edje_object_part_text_cursor_geometry_get(const Evas_Object *obj, const char *part, Evas_Coord *x, Evas_Coord *y, Evas_Coord *w, Evas_Coord *h);
EAPI void edje_object_part_swallow (Evas_Object *obj, const char *part, Evas_Object *obj_swallow);
EAPI void edje_object_part_unswallow (Evas_Object *obj, Evas_Object *obj_swallow);
#include "edje_private.h"
-static Evas_Hash *_edje_file_hash = NULL;
+static Eina_Hash *_edje_file_hash = NULL;
static int _edje_file_cache_size = 16;
static Eina_List *_edje_file_cache = NULL;
edje_edit_style_tags_list_get(Evas_Object * obj, const char* style)
{
Eina_List *tags = NULL;
- Eina_List *l, *ll;
+ Eina_List *ll;
Edje_Style *s;
Edje_Style_Tag *t;
fprintf(f, I1"group { name: \"%s\";\n", group);
//TODO Support alias:
- if ((w = edje_edit_group_min_w_get(obj)) || (h = edje_edit_group_min_h_get(obj)))
+ w = edje_edit_group_min_w_get(obj);
+ h = edje_edit_group_min_h_get(obj);
+ if ((w > 0) || (h > 0))
fprintf(f, I2"min: %d %d;\n", w, h);
- if ((w = edje_edit_group_max_w_get(obj)) || (h = edje_edit_group_max_h_get(obj)))
+ w = edje_edit_group_max_w_get(obj);
+ h = edje_edit_group_max_h_get(obj);
+ if ((w > -1) || (h > -1))
fprintf(f, I2"max: %d %d;\n", w, h);
//TODO Support data
//TODO Support script
eddc.version = EET_DATA_DESCRIPTOR_CLASS_VERSION;
eddc.func.mem_alloc = NULL;
eddc.func.mem_free = NULL;
- eddc.func.str_alloc = eina_stringshare_add;
- eddc.func.str_free = eina_stringshare_del;
- eddc.func.list_next = eina_list_next;
- eddc.func.list_append = eina_list_append;
- eddc.func.list_data = eina_list_data_get;
- eddc.func.list_free = eina_list_free;
- eddc.func.hash_foreach = evas_hash_foreach;
- eddc.func.hash_add = evas_hash_add;
- eddc.func.hash_free = evas_hash_free;
+ eddc.func.str_alloc = (char *(*)(const char *))eina_stringshare_add;
+ eddc.func.str_free = (void (*)(const char *))eina_stringshare_del;
+ eddc.func.list_next = (void *(*)(void *))eina_list_next;
+ eddc.func.list_append = (void *(*)(void *, void *))eina_list_append;
+ eddc.func.list_data = (void *(*)(void *))eina_list_data_get;
+ eddc.func.list_free = (void *(*)(void *))eina_list_free;
+ eddc.func.hash_foreach = (void (*)(void *, int (*) (void *, const char *, void *, void *), void *))evas_hash_foreach;
+ eddc.func.hash_add = (void *(*)(void *, const char *, void *))evas_hash_add;
+ eddc.func.hash_free = (void (*)(void *))evas_hash_free;
eddc.func.str_direct_alloc = _edje_edit_str_direct_alloc;
eddc.func.str_direct_free = _edje_edit_str_direct_free;
evas_textblock_cursor_node_first(c1);
do
{
- char *s;
+ const char *s;
s = evas_textblock_cursor_node_format_get(c1);
if (s)
_edje_key_up_cb(void *data, Evas *e, Evas_Object *obj, void *event_info)
{
Edje *ed = data;
- Evas_Event_Key_Up *ev = event_info;
Edje_Real_Part *rp = ed->focused_part;
Entry *en;
if (!rp) return;
#include "edje_private.h"
void _edje_collection_free_part_description_free(Edje_Part_Description *desc, unsigned int free_strings);
-static Evas_Bool _edje_file_collection_hash_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata);
+static Eina_Bool _edje_file_collection_hash_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
#ifdef EDJE_PROGRAM_CACHE
-static Evas_Bool _edje_collection_free_prog_cache_matches_free_cb(const Evas_Hash *hash, const char *key, void *data, void *fdata);
+static Eina_Bool _edje_collection_free_prog_cache_matches_free_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata);
#endif
static int _edje_object_file_set_internal(Evas_Object *obj, const char *file, const char *group, Eina_List *group_path);
static void _edje_object_pack_item_hints_set(Evas_Object *obj, Edje_Pack_Element *it);
for (i = 0; i < ed->table_parts_size; i++)
{
Edje_Real_Part *rp;
- Eina_List *curr_item;
- Edje_Pack_Element *pack_it;
+ /* XXX: curr_item and pack_it don't require to be NULL since
+ * XXX: they are just used when source != NULL and type == BOX,
+ * XXX: and they're always set in this case, but GCC fails to
+ * XXX: notice that, so let's shut it up
+ */
+ Eina_List *curr_item = NULL;
+ Edje_Pack_Element *pack_it = NULL;
const char *source = NULL;
rp = ed->table_parts[i];
* Used to free the cached data values that are stored in the data_cache
* hash table.
*/
-static Evas_Bool data_cache_free(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool data_cache_free(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
Edje_File *edf;
free(desc);
}
-static Evas_Bool
-_edje_file_collection_hash_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_edje_file_collection_hash_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
Edje_File *edf;
Edje_Part_Collection *coll;
}
#ifdef EDJE_PROGRAM_CACHE
-static Evas_Bool
-_edje_collection_free_prog_cache_matches_free_cb(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_edje_collection_free_prog_cache_matches_free_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
eina_list_free((Eina_List *)data);
return 1;
+ key = NULL;
hash = NULL;
fdata = NULL;
}
} job;
struct {
int id;
- Evas_Hash *hash; // FIXME: hash -> bad. too big. one-way lookup etc.
+ Eina_Hash *hash; // FIXME: hash -> bad. too big. one-way lookup etc.
} oid;
};
free(oid);
}
-static Evas_Bool
-_oid_freeall_cb(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_oid_freeall_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
Oid *oid = data;
evas_object_del(oid->obj);
si->oid.hash = NULL;
}
-static Evas_Bool
-_oid_moveall_cb(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_oid_moveall_cb(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
Oid *oid = data;
evas_object_move(oid->obj, oid->ed->x + oid->x, oid->ed->y + oid->y);
bottom = 1;
top = 10;
}
+ else bottom = 0; /* XXX shut up GCC, th == sh is handled before! */
top = size;
/* search one that fits (binary search) */
typedef struct _Edje_Box_Layout Edje_Box_Layout;
-static Evas_Hash *_edje_color_class_hash = NULL;
-static Evas_Hash *_edje_color_class_member_hash = NULL;
+static Eina_Hash *_edje_color_class_hash = NULL;
+static Eina_Hash *_edje_color_class_member_hash = NULL;
-static Evas_Hash *_edje_text_class_hash = NULL;
-static Evas_Hash *_edje_text_class_member_hash = NULL;
+static Eina_Hash *_edje_text_class_hash = NULL;
+static Eina_Hash *_edje_text_class_member_hash = NULL;
static Eina_Rbtree *_edje_box_layout_registry = NULL;
Eina_List *list;
};
-static Evas_Bool _edje_color_class_list_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata);
-static Evas_Bool _edje_text_class_list_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata);
+static Eina_Bool _edje_color_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
+static Eina_Bool _edje_text_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata);
Edje_Real_Part *_edje_real_part_recursive_get_helper(Edje *ed, char **path);
return fdata.list;
}
-static Evas_Bool
-_edje_color_class_list_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_edje_color_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
Edje_List_Foreach_Data *fd;
return fdata.list;
}
-static Evas_Bool
-_edje_text_class_list_foreach(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+_edje_text_class_list_foreach(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
Edje_List_Foreach_Data *fd;
/** Returns a list of char * anchor names
* @param obj A valid Evas_Object handle
* @param part The part name
- * @return The list of anchors (const char *)
+ * @return The list of anchors (const char *), do not modify!
*/
-EAPI Eina_List *
+EAPI const Eina_List *
edje_object_part_text_anchor_list_get(const Evas_Object *obj, const char *part)
{
Edje *ed;
* @param obj A valid Evas_Object handle
* @param part The part name
* @param anchor The anchor name
- * @return The list of anchor rects (const Evas_Textblock_Rectangle *)
+ * @return The list of anchor rects (const Evas_Textblock_Rectangle *), do not modify!
*/
-EAPI Eina_List *
+EAPI const Eina_List *
edje_object_part_text_anchor_geometry_get(const Evas_Object *obj, const char *part, const char *anchor)
{
Edje *ed;
EAPI void
edje_extern_object_min_size_set(Evas_Object *obj, Evas_Coord minw, Evas_Coord minh)
{
- int mw, mh;
Edje_Real_Part *rp;
evas_object_size_hint_min_set(obj, minw, minh);
Edje_Real_Part *rp;
ed = _edje_fetch(obj);
- if ((!ed) || (!part)) return NULL;
+ if ((!ed) || (!part)) return 0;
rp = _edje_real_part_recursive_get(ed, part);
- if (!rp) return NULL;
- if (rp->part->type != EDJE_PART_TYPE_BOX) return NULL;
+ if (!rp) return 0;
+ if (rp->part->type != EDJE_PART_TYPE_BOX) return 0;
return _edje_real_part_box_remove_all(rp, clear);
* Used to free the member lists that are stored in the text_class
* and color_class hashtables.
*/
-static Evas_Bool
-member_list_free(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+member_list_free(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
eina_list_free(data);
return 1;
_edje_color_class_member_hash = NULL;
}
-static Evas_Bool
-color_class_hash_list_free(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+color_class_hash_list_free(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
Edje_Color_Class *cc;
_edje_text_class_member_hash = NULL;
}
-static Evas_Bool
-text_class_hash_list_free(const Evas_Hash *hash, const char *key, void *data, void *fdata)
+static Eina_Bool
+text_class_hash_list_free(const Eina_Hash *hash, const void *key, void *data, void *fdata)
{
Edje_Text_Class *tc;