typedef unsigned char Evas_Bool;
#define Evas_List Eina_List
-#define Evas_Object_List Eina_Inlist
typedef struct _Evas_Array_Hash Evas_Array_Hash;
typedef struct _Evas_Hash Evas_Hash; /**< A Hash table handle */
struct _Evas_Hash
{
int population;
- Evas_Object_List *buckets[256];
+ Eina_Inlist *buckets[256];
};
#ifdef __cplusplus
#define evas_list_alloc_error eina_error_get
/*
- * Evas Object List functions
- */
- #define evas_object_list_append eina_inlist_append
- #define evas_object_list_prepend eina_inlist_prepend
- #define evas_object_list_append_relative eina_inlist_append_relative
- #define evas_object_list_prepend_relative eina_inlist_prepend_relative
- #define evas_object_list_remove eina_inlist_remove
- #define evas_object_list_find eina_inlist_find
-
- /*
* Evas Stringshare functions
*/
{
Evas_Cache_Image_Func func;
- Evas_Object_List *dirty;
+ Eina_Inlist *dirty;
- Evas_Object_List *lru;
- Evas_Object_List *lru_nodata;
+ Eina_Inlist *lru;
+ Eina_Inlist *lru_nodata;
Evas_Hash *inactiv;
Evas_Hash *activ;
void *data;
{
Evas_Cache_Engine_Image_Func func;
- Evas_Object_List* dirty;
+ Eina_Inlist* dirty;
Evas_Hash* activ;
Evas_Hash* inactiv;
- Evas_Object_List* lru;
+ Eina_Inlist* lru;
Evas_Cache_Image* parent;
Evas_Cache_Engine_Image* brother;
eim->flags.dirty = 1;
eim->flags.loaded = 1;
eim->flags.activ = 0;
- cache->dirty = evas_object_list_prepend(cache->dirty, eim);
+ cache->dirty = eina_inlist_prepend(cache->dirty, EINA_INLIST_GET(eim));
}
static void
eim->flags.dirty = 0;
eim->flags.activ = 0;
cache->inactiv = evas_hash_add(cache->inactiv, key, eim);
- cache->lru = evas_object_list_prepend(cache->lru, eim);
+ cache->lru = eina_inlist_prepend(cache->lru, EINA_INLIST_GET(eim));
cache->usage += cache->func.mem_size_get(eim);
}
{
if (eim->flags.dirty)
{
- cache->dirty = evas_object_list_remove(cache->dirty, eim);
+ cache->dirty = eina_inlist_remove(cache->dirty, EINA_INLIST_GET(eim));
}
else
if (eim->flags.activ)
{
cache->usage -= cache->func.mem_size_get(eim);
cache->inactiv = evas_hash_del(cache->inactiv, eim->cache_key, eim);
- cache->lru = evas_object_list_remove(cache->lru, eim);
+ cache->lru = eina_inlist_remove(cache->lru, EINA_INLIST_GET(eim));
}
eim->flags.cached = 0;
eim->flags.dirty = 0;
im->flags.dirty = 1;
im->flags.activ = 0;
im->flags.lru_nodata = 0;
- cache->dirty = evas_object_list_prepend(cache->dirty, im);
+ cache->dirty = eina_inlist_prepend(cache->dirty, EINA_INLIST_GET(im));
if (im->cache_key)
{
im->flags.dirty = 0;
im->flags.cached = 1;
cache->inactiv = evas_hash_direct_add(cache->inactiv, key, im);
- cache->lru = evas_object_list_prepend(cache->lru, im);
+ cache->lru = eina_inlist_prepend(cache->lru, EINA_INLIST_GET(im));
cache->usage += cache->func.mem_size_get(im);
}
else
if (im->flags.lru_nodata)
{
im->flags.lru_nodata = 0;
- cache->lru_nodata = evas_object_list_remove(cache->lru_nodata, im);
+ cache->lru_nodata = eina_inlist_remove(cache->lru_nodata, EINA_INLIST_GET(im));
cache->usage -= cache->func.mem_size_get(im);
}
}
{
im->flags.need_data = 0;
im->flags.lru_nodata = 1;
- cache->lru_nodata = evas_object_list_prepend(cache->lru_nodata, im);
+ cache->lru_nodata = eina_inlist_prepend(cache->lru_nodata, EINA_INLIST_GET(im));
cache->usage += cache->func.mem_size_get(im);
}
{
if (ie->flags.dirty)
{
- cache->dirty = evas_object_list_remove(cache->dirty, ie);
+ cache->dirty = eina_inlist_remove(cache->dirty, EINA_INLIST_GET(ie));
}
else
{
cache->inactiv = evas_hash_del(cache->inactiv, ie->cache_key, ie);
- cache->lru = evas_object_list_remove(cache->lru, ie);
+ cache->lru = eina_inlist_remove(cache->lru, EINA_INLIST_GET(ie));
cache->usage -= cache->func.mem_size_get(ie);
}
}
#include "evas_common.h"
#include "evas_private.h"
-static void evas_object_event_callback_list_post_free(Evas_Object_List **list);
+static void evas_object_event_callback_list_post_free(Eina_Inlist **list);
static void evas_object_event_callback_clear(Evas_Object *obj);
static void
-evas_object_event_callback_list_post_free(Evas_Object_List **list)
+evas_object_event_callback_list_post_free(Eina_Inlist **list)
{
- Evas_Object_List *l;
+ Eina_Inlist *l;
/* MEM OK */
for (l = *list; l;)
l = l->next;
if (fn->delete_me)
{
- *list = evas_object_list_remove(*list, fn);
+ *list = eina_inlist_remove(*list, EINA_INLIST_GET(fn));
free(fn);
}
}
void
evas_object_event_callback_all_del(Evas_Object *obj)
{
- Evas_Object_List *l;
+ Eina_Inlist *l;
if (!obj->callbacks) return;
for (l = obj->callbacks->callbacks; l; l = l->next)
evas_object_event_callback_call(Evas_Object *obj, Evas_Callback_Type type, void *event_info)
{
/* MEM OK */
- Evas_Object_List **l_mod = NULL, *l;
+ Eina_Inlist **l_mod = NULL, *l;
Evas_Button_Flags flags = EVAS_BUTTON_NONE;
Evas *e;
return;
}
obj->callbacks->callbacks =
- evas_object_list_append(obj->callbacks->callbacks, fn);
+ eina_inlist_append(obj->callbacks->callbacks, EINA_INLIST_GET(fn));
}
/**
evas_object_event_callback_del(Evas_Object *obj, Evas_Callback_Type type, void (*func) (void *data, Evas *e, Evas_Object *obj, void *event_info))
{
/* MEM OK */
- Evas_Object_List *l;
+ Eina_Inlist *l;
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return NULL;
evas_object_event_callback_del_full(Evas_Object *obj, Evas_Callback_Type type, void (*func) (void *data, Evas *e, Evas_Object *obj, void *event_info), const void *data)
{
/* MEM OK */
- Evas_Object_List *l;
+ Eina_Inlist *l;
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return NULL;
#include "evas_private.h"
static Evas_List *
-_evas_event_object_list_in_get(Evas *e, Evas_List *in, const Evas_Object_List *list, Evas_Object *stop, int x, int y, int *no_rep)
+_evas_event_object_list_in_get(Evas *e, Evas_List *in, const Eina_Inlist *list, Evas_Object *stop, int x, int y, int *no_rep)
{
- const Evas_Object_List *l;
+ Evas_Object *obj;
if (!list) return in;
- for (l = list->last; l; l = l->prev)
+ EINA_INLIST_ITER_LAST(list, obj)
{
- Evas_Object *obj;
-
- obj = (Evas_Object *)l;
if (obj == stop)
{
*no_rep = 1;
Evas_List *
evas_event_objects_event_list(Evas *e, Evas_Object *stop, int x, int y)
{
- Evas_Object_List *l;
+ Evas_Layer *lay;
Evas_List *in = NULL;
if (!e->layers) return NULL;
- for (l = ((Evas_Object_List *)(e->layers))->last; l; l = l->prev)
+ EINA_INLIST_ITER_LAST((EINA_INLIST_GET(e->layers)), lay)
{
- Evas_Layer *lay;
int norep;
- lay = (Evas_Layer *)l;
norep = 0;
- in = _evas_event_object_list_in_get(e, in, (Evas_Object_List *)lay->objects, stop,
+ in = _evas_event_object_list_in_get(e, in, EINA_INLIST_GET(lay->objects), stop,
x, y, &norep);
if (norep) return in;
}
e->events_frozen--;
if (e->events_frozen == 0)
{
- Evas_Object_List *l;
+ Evas_Layer *lay;
- for (l = (Evas_Object_List *)e->layers; l; l = l->next)
+ EINA_INLIST_ITER_NEXT((EINA_INLIST_GET(e->layers)), lay)
{
- Evas_Object_List *l2;
- Evas_Layer *lay;
+ Evas_Object *obj;
- lay = (Evas_Layer *)l;
- for (l2 = (Evas_Object_List *)lay->objects; l2; l2 = l2->next)
+ EINA_INLIST_ITER_NEXT(lay->objects, obj)
{
- Evas_Object *obj;
-
- obj = (Evas_Object *)l2;
evas_object_clip_recalc(obj);
evas_object_recalc_clippees(obj);
}
lay->layer = obj->cur.layer;
evas_layer_add(lay);
}
- lay->objects = evas_object_list_append(lay->objects, obj);
+ lay->objects = (Evas_Object *)eina_inlist_append(EINA_INLIST_GET(lay->objects), EINA_INLIST_GET(obj));
lay->usage++;
obj->layer = lay;
obj->in_layer = 1;
evas_object_release(Evas_Object *obj, int clean_layer)
{
if (!obj->in_layer) return;
- obj->layer->objects = evas_object_list_remove(obj->layer->objects, obj);
+ obj->layer->objects = (Evas_Object *)eina_inlist_remove(EINA_INLIST_GET(obj->layer->objects), EINA_INLIST_GET(obj));
obj->layer->usage--;
if (clean_layer)
{
void
evas_layer_pre_free(Evas_Layer *lay)
{
- Evas_Object_List *l;
+ Evas_Object *obj;
- for (l = (Evas_Object_List *)lay->objects; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(lay->objects, obj)
{
- Evas_Object *obj;
-
- obj = (Evas_Object *)l;
if ((!obj->smart.parent) && (!obj->delete_me))
evas_object_del(obj);
}
Evas_Layer *
evas_layer_find(Evas *e, short layer_num)
{
- Evas_Object_List *list;
+ Evas_Layer *layer;
- for (list = (Evas_Object_List *)e->layers; list; list = list->next)
+ EINA_INLIST_ITER_NEXT(e->layers, layer)
{
- Evas_Layer *layer;
-
- layer = (Evas_Layer *)list;
if (layer->layer == layer_num) return layer;
}
return NULL;
void
evas_layer_add(Evas_Layer *lay)
{
- Evas_Object_List *list;
+ Evas_Layer *layer;
- for (list = (Evas_Object_List *)lay->evas->layers; list; list = list->next)
+ EINA_INLIST_ITER_NEXT(lay->evas->layers, layer)
{
- Evas_Layer *layer;
-
- layer = (Evas_Layer *)list;
if (layer->layer > lay->layer)
{
- lay->evas->layers = evas_object_list_prepend_relative(lay->evas->layers, lay, layer);
+ lay->evas->layers = (Evas_Layer *)eina_inlist_prepend_relative(EINA_INLIST_GET(lay->evas->layers),
+ EINA_INLIST_GET(lay),
+ EINA_INLIST_GET(layer));
return;
}
}
- lay->evas->layers = evas_object_list_append(lay->evas->layers, lay);
+ lay->evas->layers = (Evas_Layer *)eina_inlist_append(EINA_INLIST_GET(lay->evas->layers), EINA_INLIST_GET(lay));
}
void
evas_layer_del(Evas_Layer *lay)
{
- Evas_Object_List *ol;
Evas *e;
- ol = (Evas_Object_List *)lay;
e = lay->evas;
- e->layers = evas_object_list_remove(e->layers, lay);
+ e->layers = (Evas_Layer *)eina_inlist_remove(EINA_INLIST_GET(e->layers), EINA_INLIST_GET(lay));
}
/* public functions */
EAPI void
evas_free(Evas *e)
{
- Evas_Object_List *l;
+ Evas_Layer *lay;
int i;
int del;
while (del)
{
del = 0;
- for (l = (Evas_Object_List *)(e->layers); l; l = l->next)
+ EINA_INLIST_ITER_NEXT(e->layers, lay)
{
- Evas_Layer *lay;
- Evas_Object_List *ll;
+ Evas_Object *o;
- lay = (Evas_Layer *)l;
evas_layer_pre_free(lay);
- for (ll = (Evas_Object_List *)lay->objects; ll; ll = ll->next)
- {
- Evas_Object *o;
- o = (Evas_Object *)ll;
+ EINA_INLIST_ITER_NEXT(lay->objects, o)
+ {
if ((o->callbacks) && (o->callbacks->walking_list))
{
/* Defer free */
}
while (e->layers)
{
- Evas_Layer *lay;
-
lay = e->layers;
evas_layer_del(lay);
evas_layer_free(lay);
}
e->walking_list--;
-
+
evas_font_path_clear(e);
e->pointer.object.in = evas_list_free(e->pointer.object.in);
EAPI void
evas_image_cache_reload(Evas *e)
{
- Evas_Object_List *l;
+ Evas_Layer *layer;
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return;
MAGIC_CHECK_END();
evas_image_cache_flush(e);
- for (l = (Evas_Object_List *)e->layers; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(e->layers, layer)
{
- Evas_Layer *layer;
- Evas_Object_List *l2;
+ Evas_Object *obj;
- layer = (Evas_Layer *)l;
- for (l2 = (Evas_Object_List *)layer->objects; l2; l2 = l2->next)
+ EINA_INLIST_ITER_NEXT(layer->objects, obj)
{
- Evas_Object *obj;
Evas_Object_Image *o;
- obj = (Evas_Object *)l2;
o = (Evas_Object_Image *)(obj->object_data);
if (o->magic == MAGIC_OBJ_IMAGE)
{
}
}
evas_image_cache_flush(e);
- for (l = (Evas_Object_List *)e->layers; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(e->layers, layer)
{
- Evas_Layer *layer;
- Evas_Object_List *l2;
+ Evas_Object *obj;
- layer = (Evas_Layer *)l;
- for (l2 = (Evas_Object_List *)layer->objects; l2; l2 = l2->next)
+ EINA_INLIST_ITER_NEXT(layer->objects, obj)
{
- Evas_Object *obj;
Evas_Object_Image *o;
- obj = (Evas_Object *)l2;
o = (Evas_Object_Image *)(obj->object_data);
if (o->magic == MAGIC_OBJ_IMAGE)
{
*/
//#define FORWARD_NOOP_RESIZES_TO_SMART_OBJS
-static Evas_Object_List *
+static Eina_Inlist *
get_layer_objects_last(Evas_Layer *l)
{
if( !l || !l->objects ) return NULL;
- return ((Evas_Object_List *)(l->objects))->last;
+ return (EINA_INLIST_GET(l->objects))->last;
}
/* evas internal stuff */
EAPI Evas_Object *
evas_object_top_at_xy_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects)
{
- Evas_Object_List *l;
+ Evas_Layer *lay;
int xx, yy;
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
yy = y;
//// xx = evas_coord_world_x_to_screen(e, x);
//// yy = evas_coord_world_y_to_screen(e, y);
- for (l = ((Evas_Object_List *)(e->layers))->last; l; l = l->prev)
+ EINA_INLIST_ITER_LAST((EINA_INLIST_GET(e->layers)), lay)
{
- Evas_Object_List *l2;
- Evas_Layer *lay;
+ Evas_Object *obj;
- lay = (Evas_Layer *)l;
- for (l2 = get_layer_objects_last(lay); l2; l2 = l2->prev)
+ EINA_INLIST_ITER_LAST(get_layer_objects_last(lay), obj)
{
- Evas_Object *obj;
-
- obj = (Evas_Object *)l2;
if (obj->delete_me) continue;
if ((!include_pass_events_objects) && (evas_event_passes_through(obj))) continue;
if ((!include_hidden_objects) && (!obj->cur.visible)) continue;
EAPI Evas_Object *
evas_object_top_in_rectangle_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects)
{
- Evas_Object_List *l;
+ Evas_Layer *lay;
int xx, yy, ww, hh;
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
//// hh = evas_coord_world_y_to_screen(e, h);
if (ww < 1) ww = 1;
if (hh < 1) hh = 1;
- for (l = ((Evas_Object_List *)(e->layers))->last; l; l = l->prev)
+ EINA_INLIST_ITER_LAST((EINA_INLIST_GET(e->layers)), lay)
{
- Evas_Object_List *l2;
- Evas_Layer *lay;
+ Evas_Object *obj;
- lay = (Evas_Layer *)l;
- for (l2 = get_layer_objects_last(lay); l2; l2 = l2->prev)
+ EINA_INLIST_ITER_LAST(get_layer_objects_last(lay), obj)
{
- Evas_Object *obj;
-
- obj = (Evas_Object *)l2;
if (obj->delete_me) continue;
if ((!include_pass_events_objects) && (evas_event_passes_through(obj))) continue;
if ((!include_hidden_objects) && (!obj->cur.visible)) continue;
evas_objects_at_xy_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects)
{
Evas_List *in = NULL;
- Evas_Object_List *l;
+ Evas_Layer *lay;
int xx, yy;
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
yy = y;
//// xx = evas_coord_world_x_to_screen(e, x);
//// yy = evas_coord_world_y_to_screen(e, y);
- for (l = ((Evas_Object_List *)(e->layers))->last; l; l = l->prev)
+ EINA_INLIST_ITER_LAST((EINA_INLIST_GET(e->layers)), lay)
{
- Evas_Object_List *l2;
- Evas_Layer *lay;
+ Evas_Object *obj;
- lay = (Evas_Layer *)l;
- for (l2 = get_layer_objects_last(lay); l2; l2 = l2->prev)
+ EINA_INLIST_ITER_LAST(get_layer_objects_last(lay), obj)
{
- Evas_Object *obj;
-
- obj = (Evas_Object *)l2;
if (obj->delete_me) continue;
if ((!include_pass_events_objects) && (evas_event_passes_through(obj))) continue;
if ((!include_hidden_objects) && (!obj->cur.visible)) continue;
evas_objects_in_rectangle_get(const Evas *e, Evas_Coord x, Evas_Coord y, Evas_Coord w, Evas_Coord h, Evas_Bool include_pass_events_objects, Evas_Bool include_hidden_objects)
{
Evas_List *in = NULL;
- Evas_Object_List *l;
+ Evas_Layer *lay;
int xx, yy, ww, hh;
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
MAGIC_CHECK_END();
xx = x;
yy = y;
- ww = w;
+ ww = w;
hh = h;
//// xx = evas_coord_world_x_to_screen(e, x);
//// yy = evas_coord_world_y_to_screen(e, y);
//// hh = evas_coord_world_y_to_screen(e, h);
if (ww < 1) ww = 1;
if (hh < 1) hh = 1;
- for (l = ((Evas_Object_List *)(e->layers))->last; l; l = l->prev)
+ EINA_INLIST_ITER_LAST((EINA_INLIST_GET(e->layers)), lay)
{
- Evas_Object_List *l2;
- Evas_Layer *lay;
+ Evas_Object *obj;
- lay = (Evas_Layer *)l;
- for (l2 = get_layer_objects_last(lay); l2; l2 = l2->prev)
+ EINA_INLIST_ITER_LAST(get_layer_objects_last(lay), obj)
{
- Evas_Object *obj;
-
- obj = (Evas_Object *)l2;
if (obj->delete_me) continue;
if ((!include_pass_events_objects) && (evas_event_passes_through(obj))) continue;
if ((!include_hidden_objects) && (!obj->cur.visible)) continue;
void *engine_data;
void *data;
Evas_List *callbacks;
- Evas_Object_List *contained;
+ Eina_Inlist *contained;
int walking_list;
Evas_Bool deletions_waiting : 1;
Evas_Bool need_recalculate : 1;
obj->cur.layer = obj->layer->layer;
obj->layer->usage++;
obj->smart.parent = smart_obj;
- o->contained = evas_object_list_append(o->contained, obj);
+ o->contained = eina_inlist_append(o->contained, EINA_INLIST_GET(obj));
evas_object_smart_member_cache_invalidate(obj);
obj->restack = 1;
evas_object_change(obj);
if (!obj->smart.parent) return;
o = (Evas_Object_Smart *)(obj->smart.parent->object_data);
- o->contained = evas_object_list_remove(o->contained, obj);
+ o->contained = eina_inlist_remove(o->contained, EINA_INLIST_GET(obj));
obj->smart.parent = NULL;
evas_object_smart_member_cache_invalidate(obj);
obj->layer->usage--;
{
Evas_Object_Smart *o;
Evas_List *members;
- Evas_Object_List *member;
+ Eina_Inlist *member;
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
return NULL;
return members;
}
-const Evas_Object_List *
+const Eina_Inlist *
evas_object_smart_members_get_direct(const Evas_Object *obj)
{
Evas_Object_Smart *o;
{
Evas_Object_Smart *o;
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
- return;
+ return 0;
MAGIC_CHECK_END();
o = obj->object_data;
MAGIC_CHECK(o, Evas_Object_Smart, MAGIC_OBJ_SMART);
- return;
+ return 0;
MAGIC_CHECK_END();
return o->need_recalculate;
{
Evas_Object_Smart *o;
MAGIC_CHECK(obj, Evas_Object, MAGIC_OBJ);
- return;
+ return 0;
MAGIC_CHECK_END();
o = obj->object_data;
MAGIC_CHECK(o, Evas_Object_Smart, MAGIC_OBJ_SMART);
- return;
+ return 0;
MAGIC_CHECK_END();
if (obj->smart.smart->smart_class->calculate)
evas_object_smart_member_cache_invalidate(Evas_Object *obj)
{
Evas_Object_Smart *o;
- Evas_Object_List *l;
+ Eina_Inlist *l;
o = (Evas_Object_Smart *)(obj->object_data);
if (o->magic != MAGIC_OBJ_SMART)
Evas_Object_Smart *o;
o = (Evas_Object_Smart *)(member->smart.parent->object_data);
- o->contained = evas_object_list_remove(o->contained, member);
- o->contained = evas_object_list_append(o->contained, member);
+ o->contained = eina_inlist_demote(o->contained, EINA_INLIST_GET(member));
}
void
Evas_Object_Smart *o;
o = (Evas_Object_Smart *)(member->smart.parent->object_data);
- o->contained = evas_object_list_remove(o->contained, member);
- o->contained = evas_object_list_prepend(o->contained, member);
+ o->contained = eina_inlist_promote(o->contained, EINA_INLIST_GET(member));
}
void
Evas_Object_Smart *o;
o = (Evas_Object_Smart *)(member->smart.parent->object_data);
- o->contained = evas_object_list_remove(o->contained, member);
- o->contained = evas_object_list_append_relative(o->contained, member, other);
+ o->contained = eina_inlist_remove(o->contained, EINA_INLIST_GET(member));
+ o->contained = eina_inlist_append_relative(o->contained, EINA_INLIST_GET(member), EINA_INLIST_GET(other));
}
void
Evas_Object_Smart *o;
o = (Evas_Object_Smart *)(member->smart.parent->object_data);
- o->contained = evas_object_list_remove(o->contained, member);
- o->contained = evas_object_list_prepend_relative(o->contained, member, other);
+ o->contained = eina_inlist_remove(o->contained, EINA_INLIST_GET(member));
+ o->contained = eina_inlist_prepend_relative(o->contained, EINA_INLIST_GET(member), EINA_INLIST_GET(other));
}
/* all nice and private */
{
if (obj->smart.smart)
{
- const Evas_Object_List *l3;
-
- for (l3 = evas_object_smart_members_get_direct(obj); l3; l3 = l3->next)
- {
- obj = (Evas_Object *)l3;
- evas_font_object_rehint(obj);
- }
+ EINA_INLIST_ITER_NEXT(evas_object_smart_members_get_direct(obj), obj)
+ evas_font_object_rehint(obj);
}
else
{
EAPI void
evas_font_hinting_set(Evas *e, Evas_Font_Hinting_Flags hinting)
{
- Evas_Object_List *l;
-
+ Evas_Layer *lay;
+
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return;
MAGIC_CHECK_END();
if (e->hinting == hinting) return;
e->hinting = hinting;
- for (l = (Evas_Object_List *)e->layers; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(e->layers, lay)
{
- Evas_Object_List *l2;
- Evas_Layer *lay;
-
- lay = (Evas_Layer *)l;
- for (l2 = (Evas_Object_List *)lay->objects; l2; l2 = l2->next)
- {
- Evas_Object *obj;
-
- obj = (Evas_Object *)l2;
- evas_font_object_rehint(obj);
- }
+ Evas_Object *obj;
+
+ EINA_INLIST_ITER_NEXT(lay->objects, obj)
+ evas_font_object_rehint(obj);
}
}
#define NODE_FORMAT 1
struct _Evas_Object_Style_Tag
-{ Evas_Object_List _list_data;
+{ EINA_INLIST;
char *tag;
char *replace;
};
struct _Evas_Object_Textblock_Node
-{ Evas_Object_List _list_data;
+{ EINA_INLIST;
char *text;
int type;
int len, alloc;
};
struct _Evas_Object_Textblock_Line
-{ Evas_Object_List _list_data;
+{ EINA_INLIST;
Evas_Object_Textblock_Item *items;
Evas_Object_Textblock_Format_Item *format_items;
int x, y, w, h;
};
struct _Evas_Object_Textblock_Item
-{ Evas_Object_List _list_data;
+{ EINA_INLIST;
char *text;
Evas_Object_Textblock_Format *format;
Evas_Object_Textblock_Node *source_node;
};
struct _Evas_Object_Textblock_Format_Item
-{ Evas_Object_List _list_data;
+{ EINA_INLIST;
const char *item;
Evas_Object_Textblock_Node *source_node;
int x, w;
Evas_Object_Style_Tag *tag;
tag = (Evas_Object_Style_Tag *)ts->tags;
- ts->tags = evas_object_list_remove(ts->tags, tag);
+ ts->tags = (Evas_Object_Style_Tag *)eina_inlist_remove(EINA_INLIST_GET(ts->tags), EINA_INLIST_GET(tag));
free(tag->tag);
free(tag->replace);
free(tag);
static char *
_style_match_replace(Evas_Textblock_Style *ts, char *s)
{
- Evas_Object_List *l;
-
- for (l = (Evas_Object_List *)ts->tags; l; l = l->next)
+ Evas_Object_Style_Tag *tag;
+
+ EINA_INLIST_ITER_NEXT(ts->tags, tag)
{
- Evas_Object_Style_Tag *tag;
-
- tag = (Evas_Object_Style_Tag *)l;
if (!strcmp(tag->replace, s)) return tag->tag;
}
return NULL;
static char *
_style_match_tag(Evas_Textblock_Style *ts, char *s)
{
- Evas_Object_List *l;
+ Evas_Object_Style_Tag *tag;
- for (l = (Evas_Object_List *)ts->tags; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(ts->tags, tag)
{
- Evas_Object_Style_Tag *tag;
-
- tag = (Evas_Object_Style_Tag *)l;
if (!strcmp(tag->tag, s)) return tag->replace;
}
return NULL;
Evas_Object_Textblock_Node *n;
n = (Evas_Object_Textblock_Node *)o->nodes;
- o->nodes = evas_object_list_remove(o->nodes, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_remove(EINA_INLIST_GET(o->nodes), EINA_INLIST_GET(n));
if (n->text) free(n->text);
free(n);
}
Evas_Object_Textblock_Item *it;
it = (Evas_Object_Textblock_Item *)ln->items;
- ln->items = evas_object_list_remove(ln->items, ln->items);
+ ln->items = (Evas_Object_Textblock_Item *)eina_inlist_remove(EINA_INLIST_GET(ln->items), EINA_INLIST_GET(ln->items));
if (it->text) free(it->text);
_format_free(obj, it->format);
free(it);
Evas_Object_Textblock_Format_Item *fi;
fi = (Evas_Object_Textblock_Format_Item *)ln->format_items;
- ln->format_items = evas_object_list_remove(ln->format_items, ln->format_items);
+ ln->format_items = (Evas_Object_Textblock_Format_Item *)eina_inlist_remove(EINA_INLIST_GET(ln->format_items),
+ EINA_INLIST_GET(ln->format_items));
if (fi->item) eina_stringshare_del(fi->item);
free(fi);
}
Evas_Object_Textblock_Line *ln;
ln = (Evas_Object_Textblock_Line *)lines;
- lines = evas_object_list_remove(lines, ln);
+ lines = (Evas_Object_Textblock_Line *)eina_inlist_remove(EINA_INLIST_GET(lines), EINA_INLIST_GET(ln));
_line_free(obj, ln);
}
}
if (n1->type != NODE_TEXT) return;
o = (Evas_Object_Textblock *)(obj->object_data);
- n0 = (Evas_Object_Textblock_Node *)((Evas_Object_List *)n1)->prev;
- n2 = (Evas_Object_Textblock_Node *)((Evas_Object_List *)n1)->next;
+ n0 = (Evas_Object_Textblock_Node *)(EINA_INLIST_GET(n1))->prev;
+ n2 = (Evas_Object_Textblock_Node *)(EINA_INLIST_GET(n1))->next;
if ((n0) && (n0->type == NODE_TEXT))
{
plen = n0->len;
n0->text = _strbuf_append(n0->text, n1->text, &(n0->len), &(n0->alloc));
- ((Evas_Object_List *)n0)->next = (Evas_Object_List *)n2;
- if (n2) ((Evas_Object_List *)n2)->prev = (Evas_Object_List *)n0;
+ (EINA_INLIST_GET(n0))->next = EINA_INLIST_GET(n2);
+ if (n2) (EINA_INLIST_GET(n2))->prev = EINA_INLIST_GET(n0);
// fix any cursors in n1
if (n1 == o->cursor->node)
{
{
n0 = n1;
n1 = n2;
- n2 = (Evas_Object_Textblock_Node *)((Evas_Object_List *)n1)->next;
+ n2 = (Evas_Object_Textblock_Node *)(EINA_INLIST_GET(n1))->next;
plen = n0->len;
n0->text = _strbuf_append(n0->text, n1->text, &(n0->len), &(n0->alloc));
- ((Evas_Object_List *)n0)->next = (Evas_Object_List *)n2;
- if (n2) ((Evas_Object_List *)n2)->prev = (Evas_Object_List *)n0;
+ (EINA_INLIST_GET(n0))->next = EINA_INLIST_GET(n2);
+ if (n2) (EINA_INLIST_GET(n2))->prev = EINA_INLIST_GET(n0);
// fix any cursors in n1
if (n1 == o->cursor->node)
{
c->align = fmt->halign;
c->marginl = fmt->margin.l;
c->marginr = fmt->margin.r;
- c->lines = evas_object_list_append(c->lines, c->ln);
+ c->lines = (Evas_Object_Textblock_Line *)eina_inlist_append(EINA_INLIST_GET(c->lines), EINA_INLIST_GET(c->ln));
c->x = 0;
c->maxascent = c->maxdescent = 0;
c->ln->line_no = -1;
_layout_line_advance(Ctxt *c, Evas_Object_Textblock_Format *fmt)
{
Evas_Object_Textblock_Item *it;
- Evas_Object_List *l;
-
+
c->maxascent = c->maxdescent = 0;
if (!c->ln->items)
_layout_format_ascent_descent_adjust(c, fmt);
- for (l = (Evas_Object_List *)c->ln->items; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(c->ln->items, it)
{
int endx;
-
- it = (Evas_Object_Textblock_Item *)l;
+
if (it->format->font.font)
it->baseline = c->ENFN->font_max_ascent_get(c->ENDT, it->format->font.font);
_layout_format_ascent_descent_adjust(c, it->format);
free(it);
if (c->ln->items)
{
- it = (Evas_Object_Textblock_Item *)((Evas_Object_List *)c->ln->items)->last;
+ it = (Evas_Object_Textblock_Item *)(EINA_INLIST_GET(c->ln->items))->last;
return _layout_strip_trailing_whitespace(c, fmt, it);
}
return 0;
Evas_Object_Textblock_Item *it;
if (!c->ln->items) return 1;
- it = (Evas_Object_Textblock_Item *)((Evas_Object_List *)c->ln->items)->last;
+ it = (Evas_Object_Textblock_Item *)(EINA_INLIST_GET(c->ln->items))->last;
return _layout_ends_with_space(it->text);
}
Evas_Object_Textblock_Item *pit, *new_it = NULL;
Evas_List *remove_items = NULL, *l;
int index, tw, th, inset, adv;
-
+
/* it is not appended yet */
- for (pit = (Evas_Object_Textblock_Item *)((Evas_Object_List *)c->ln->items)->last;
- pit;
- pit = (Evas_Object_Textblock_Item *)((Evas_Object_List *)pit)->prev)
+ EINA_INLIST_ITER_LAST((EINA_INLIST_GET(c->ln->items)), pit)
{
if (_layout_ends_with_space(pit->text))
{
}
for (l = remove_items; l; l = l->next)
{
- c->ln->items = evas_object_list_remove(c->ln->items, l->data);
+ c->ln->items = (Evas_Object_Textblock_Item *)eina_inlist_remove(EINA_INLIST_GET(c->ln->items), l->data);
}
/* new line now */
if (remove_items)
if (new_it->format->font.font)
adv = c->ENFN->font_h_advance_get(c->ENDT, new_it->format->font.font, new_it->text);
c->x += adv;
- c->ln->items = evas_object_list_append(c->ln->items, new_it);
+ c->ln->items = (Evas_Object_Textblock_Item *)eina_inlist_append(EINA_INLIST_GET(c->ln->items), EINA_INLIST_GET(new_it));
}
while (remove_items)
{
pit->x = c->x;
adv = c->ENFN->font_h_advance_get(c->ENDT, pit->format->font.font, pit->text);
c->x += adv;
- c->ln->items = evas_object_list_append(c->ln->items, pit);
+ c->ln->items = (Evas_Object_Textblock_Item *)eina_inlist_append(EINA_INLIST_GET(c->ln->items), EINA_INLIST_GET(pit));
}
if (it)
{
if (it->format->font.font)
adv = c->ENFN->font_h_advance_get(c->ENDT, it->format->font.font, it->text);
c->x += adv;
- c->ln->items = evas_object_list_append(c->ln->items, it);
+ c->ln->items = (Evas_Object_Textblock_Item *)eina_inlist_append(EINA_INLIST_GET(c->ln->items), EINA_INLIST_GET(it));
}
}
if (it->text) free(it->text);
_format_free(c->obj, it->format);
free(it);
- it = (Evas_Object_Textblock_Item *)((Evas_Object_List *)c->ln->items)->last;
+ it = (Evas_Object_Textblock_Item *)(EINA_INLIST_GET(c->ln->items))->last;
_layout_strip_trailing_whitespace(c, fmt, it);
twrap = _layout_word_end(str, wrap);
ch = evas_common_font_utf8_get_next((unsigned char *)str, &twrap);
if (fmt->font.font)
adv = c->ENFN->font_h_advance_get(c->ENDT, fmt->font.font, it->text);
c->x += adv;
- c->ln->items = evas_object_list_append(c->ln->items, it);
+ c->ln->items = (Evas_Object_Textblock_Item *)eina_inlist_append(EINA_INLIST_GET(c->ln->items), EINA_INLIST_GET(it));
}
if (new_line)
{
fi = calloc(1, sizeof(Evas_Object_Textblock_Format_Item));
fi->item = eina_stringshare_add(item);
fi->source_node = n;
- c->ln->format_items = evas_object_list_append(c->ln->format_items, fi);
+ c->ln->format_items = (Evas_Object_Textblock_Format_Item *)eina_inlist_append(EINA_INLIST_GET(c->ln->format_items),
+ EINA_INLIST_GET(fi));
return fi;
}
{
Evas_Object_Textblock *o;
Ctxt ctxt, *c;
- Evas_Object_List *l;
+ Evas_Object_Textblock_Line *ln;
+ Evas_Object_Textblock_Node *n;
Evas_List *removes = NULL;
Evas_Object_Textblock_Format *fmt = NULL;
int style_pad_l = 0, style_pad_r = 0, style_pad_t = 0, style_pad_b = 0;
return;
}
/* run through all text and format nodes generating lines */
- for (l = (Evas_Object_List *)c->o->nodes; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(c->o->nodes, n)
{
- Evas_Object_Textblock_Node *n;
-
- n = (Evas_Object_Textblock_Node *)l;
if (!c->ln) _layout_line_new(c, fmt);
if ((n->type == NODE_FORMAT) && (n->text))
{
{
Evas_Object_Textblock_Item *it;
- it = (Evas_Object_Textblock_Item *)((Evas_Object_List *)c->ln->items)->last;
+ it = (Evas_Object_Textblock_Item *)(EINA_INLIST_GET(c->ln->items))->last;
_layout_strip_trailing_whitespace(c, fmt, it);
}
fi = _layout_format_item_add(c, n, item);
c->format_stack = evas_list_remove_list(c->format_stack, c->format_stack);
_format_free(c->obj, fmt);
}
- for (l = (Evas_Object_List *)c->lines; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(c->lines, ln)
{
- Evas_Object_Textblock_Line *ln;
-
- ln = (Evas_Object_Textblock_Line *)l;
if (ln->line_no == -1)
{
removes = evas_list_append(removes, ln);
}
while (removes)
{
- Evas_Object_Textblock_Line *ln;
-
ln = removes->data;
- c->lines = evas_object_list_remove(c->lines, ln);
+ c->lines = (Evas_Object_Textblock_Line *)eina_inlist_remove(EINA_INLIST_GET(c->lines), EINA_INLIST_GET(ln));
removes = evas_list_remove_list(removes, removes);
_line_free(obj, ln);
}
static void
_find_layout_item_line_match(Evas_Object *obj, Evas_Object_Textblock_Node *n, int pos, Evas_Object_Textblock_Line **lnr, Evas_Object_Textblock_Item **itr)
{
- Evas_Object_List *l, *ll;
+ Evas_Object_Textblock_Line *ln;
+/* Evas_Object_Textblock_Node *nn; */
Evas_Object_Textblock *o;
-
+
o = (Evas_Object_Textblock *)(obj->object_data);
- for (l = (Evas_Object_List *)o->nodes; l; l = l->next)
+/* EINA_INLIST_ITER_NEXT(o->nodes, nn) */
+/* ; */
+ EINA_INLIST_ITER_NEXT(o->lines, ln)
{
- Evas_Object_Textblock_Node *nn;
-
- nn = l;
- }
- for (l = (Evas_Object_List *)o->lines; l; l = l->next)
- {
- Evas_Object_Textblock_Line *ln;
+ Evas_Object_Textblock_Format_Item *fit;
+ Evas_Object_Textblock_Item *it;
- ln = (Evas_Object_Textblock_Line *)l;
- for (ll = (Evas_Object_List *)ln->items; ll; ll = ll->next)
+ EINA_INLIST_ITER_NEXT(ln->items, it)
{
- Evas_Object_Textblock_Item *it;
-
- it = (Evas_Object_Textblock_Item *)ll;
if (it->source_node == n)
{
if ((int)(it->source_pos + strlen(it->text)) >= pos)
}
}
}
- for (ll = (Evas_Object_List *)ln->format_items; ll; ll = ll->next)
+ EINA_INLIST_ITER_NEXT(ln->format_items, fit)
{
- Evas_Object_Textblock_Format_Item *it;
-
- it = (Evas_Object_Textblock_Format_Item *)ll;
- if (it->source_node == n)
+ if (fit->source_node == n)
{
*lnr = ln;
- *itr = it;
+ /* FIXME: Is that really what we want ? */
+ *itr = fit;
return;
}
}
static void
_find_layout_format_item_line_match(Evas_Object *obj, Evas_Object_Textblock_Node *n, Evas_Object_Textblock_Line **lnr, Evas_Object_Textblock_Format_Item **fir)
{
- Evas_Object_List *l, *ll;
+ Evas_Object_Textblock_Line *ln;
Evas_Object_Textblock *o;
-
+
o = (Evas_Object_Textblock *)(obj->object_data);
- for (l = (Evas_Object_List *)o->lines; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(o->lines, ln)
{
- Evas_Object_Textblock_Line *ln;
+ Evas_Object_Textblock_Format_Item *fi;
- ln = (Evas_Object_Textblock_Line *)l;
- for (ll = (Evas_Object_List *)ln->format_items; ll; ll = ll->next)
+ EINA_INLIST_ITER_NEXT(ln->format_items, fi)
{
- Evas_Object_Textblock_Format_Item *fi;
-
- fi = (Evas_Object_Textblock_Format_Item *)ll;
if (fi->source_node == n)
{
*lnr = ln;
static Evas_Object_Textblock_Line *
_find_layout_line_num(const Evas_Object *obj, int line)
{
- Evas_Object_List *l;
+ Evas_Object_Textblock_Line *ln;
Evas_Object_Textblock *o;
o = (Evas_Object_Textblock *)(obj->object_data);
- for (l = (Evas_Object_List *)o->lines; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(o->lines, ln)
{
- Evas_Object_Textblock_Line *ln;
-
- ln = (Evas_Object_Textblock_Line *)l;
if (ln->line_no == line) return ln;
}
return NULL;
{
tag->tag = tags;
tag->replace = replaces;
- ts->tags = evas_object_list_append(ts->tags, tag);
+ ts->tags = (Evas_Object_Style_Tag *)eina_inlist_append(EINA_INLIST_GET(ts->tags), EINA_INLIST_GET(tag));
}
else
{
EAPI const char *
evas_object_textblock_text_markup_get(const Evas_Object *obj)
{
- Evas_Object_List *l;
+ Evas_Object_Textblock_Node *n;
char *txt = NULL;
int txt_len = 0, txt_alloc = 0;
TB_HEAD_RETURN(NULL);
if (o->markup_text) return(o->markup_text);
- for (l = (Evas_Object_List *)o->nodes; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(o->nodes, n)
{
- Evas_Object_Textblock_Node *n;
-
- n = (Evas_Object_Textblock_Node *)l;
if ((n->type == NODE_FORMAT) && (n->text))
{
char *tag = _style_match_replace(o->style, n->text);
o = (Evas_Object_Textblock *)(cur->obj->object_data);
if (o->nodes)
{
- cur->node = (Evas_Object_Textblock_Node *)(((Evas_Object_List *)(o->nodes))->last);
+ cur->node = (Evas_Object_Textblock_Node *)((EINA_INLIST_GET(o->nodes))->last);
cur->pos = 0;
evas_textblock_cursor_char_last(cur);
}
if (!cur) return 0;
o = (Evas_Object_Textblock *)(cur->obj->object_data);
if (!cur->node) return 0;
- if (((Evas_Object_List *)(cur->node))->next)
+ if ((EINA_INLIST_GET(cur->node))->next)
{
- cur->node = (Evas_Object_Textblock_Node *)(((Evas_Object_List *)(cur->node))->next);
+ cur->node = (Evas_Object_Textblock_Node *)((EINA_INLIST_GET(cur->node))->next);
cur->pos = 0;
return 1;
}
if (!cur) return 0;
o = (Evas_Object_Textblock *)(cur->obj->object_data);
if (!cur->node) return 0;
- if (((Evas_Object_List *)(cur->node))->prev)
+ if ((EINA_INLIST_GET(cur->node))->prev)
{
- cur->node = (Evas_Object_Textblock_Node *)(((Evas_Object_List *)(cur->node))->prev);
+ cur->node = (Evas_Object_Textblock_Node *)((EINA_INLIST_GET(cur->node))->prev);
evas_textblock_cursor_char_last(cur);
return 1;
}
_find_layout_item_line_match(cur->obj, cur->node, cur->pos, &ln, &it);
if (!ln) return;
if (ln->items)
- it = (Evas_Object_Textblock_Item *)(((Evas_Object_List *)ln->items)->last);
+ it = (Evas_Object_Textblock_Item *)((EINA_INLIST_GET(ln->items))->last);
else
it = NULL;
if (ln->format_items)
- fi = (Evas_Object_Textblock_Format_Item *)(((Evas_Object_List *)ln->format_items)->last);
+ fi = (Evas_Object_Textblock_Format_Item *)((EINA_INLIST_GET(ln->format_items))->last);
else
fi = NULL;
if ((it) && (fi))
EAPI int
evas_textblock_cursor_compare(const Evas_Textblock_Cursor *cur1, const Evas_Textblock_Cursor *cur2)
{
- Evas_Object_List *l1, *l2;
+ Eina_Inlist *l1, *l2;
if (!cur1) return 0;
if (!cur2) return 0;
else if (cur1->pos > cur2->pos) return 1; /* cur2 < cur1 */
return 0; /* cur1 == cur2 */
}
- for (l1 = (Evas_Object_List *)cur1->node,
- l2 = (Evas_Object_List *)cur1->node; (l1) || (l2);)
+ for (l1 = EINA_INLIST_GET(cur1->node),
+ l2 = EINA_INLIST_GET(cur1->node); (l1) || (l2);)
{
- if (l1 == (Evas_Object_List *)cur2->node) return 1; /* cur2 < cur 1 */
- else if (l2 == (Evas_Object_List *)cur2->node) return -1; /* cur1 < cur 2 */
+ if (l1 == EINA_INLIST_GET(cur2->node)) return 1; /* cur2 < cur 1 */
+ else if (l2 == EINA_INLIST_GET(cur2->node)) return -1; /* cur1 < cur 2 */
else if (!l1) return -1; /* cur1 < cur 2 */
else if (!l2) return 1; /* cur2 < cur 1 */
if (l1) l1 = l1->prev;
n = calloc(1, sizeof(Evas_Object_Textblock_Node));
n->type = NODE_TEXT;
if (nrel)
- o->nodes = evas_object_list_append_relative(o->nodes, n, nrel);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_append_relative(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n),
+ EINA_INLIST_GET(nrel));
else
- o->nodes = evas_object_list_append(o->nodes, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_append(EINA_INLIST_GET(o->nodes), EINA_INLIST_GET(n));
}
cur->node = n;
index = cur->pos;
n = calloc(1, sizeof(Evas_Object_Textblock_Node));
n->type = NODE_TEXT;
if (nrel)
- o->nodes = evas_object_list_prepend_relative(o->nodes, n, nrel);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_prepend_relative(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n),
+ EINA_INLIST_GET(nrel));
else
- o->nodes = evas_object_list_prepend(o->nodes, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_prepend(EINA_INLIST_GET(o->nodes), EINA_INLIST_GET(n));
}
cur->node = n;
index = cur->pos;
n->alloc = n->len + 1;
if (!nc)
{
- o->nodes = evas_object_list_append(o->nodes, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_append(EINA_INLIST_GET(o->nodes), EINA_INLIST_GET(n));
}
else if (nc->type == NODE_FORMAT)
{
- o->nodes = evas_object_list_append_relative(o->nodes, n, nc);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_append_relative(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n),
+ EINA_INLIST_GET(nc));
}
else if (nc->type == NODE_TEXT)
{
if (ch != 0)
cur->pos = index;
}
- o->nodes = evas_object_list_append_relative(o->nodes, n, nc);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_append_relative(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n),
+ EINA_INLIST_GET(nc));
if ((ch != 0) && (cur->pos < nc->len))
{
n2 = calloc(1, sizeof(Evas_Object_Textblock_Node));
n2->type = NODE_TEXT;
n2->text = _strbuf_append(n2->text, (char *)(nc->text + cur->pos), &(n2->len), &(n2->alloc));
- o->nodes = evas_object_list_append_relative(o->nodes, n2, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_append_relative(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n2),
+ EINA_INLIST_GET(n));
*(nc->text + cur->pos) = 0;
nc->len = cur->pos;
n->alloc = n->len + 1;
if (!nc)
{
- o->nodes = evas_object_list_prepend(o->nodes, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_prepend(EINA_INLIST_GET(o->nodes), EINA_INLIST_GET(n));
cur->node = n;
cur->pos = 0;
}
else if (nc->type == NODE_FORMAT)
{
- o->nodes = evas_object_list_prepend_relative(o->nodes, n, nc);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_prepend_relative(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n),
+ EINA_INLIST_GET(nc));
cur->node = nc;
cur->pos = 0;
}
char *ts;
if (cur->pos == 0)
- o->nodes = evas_object_list_prepend_relative(o->nodes, n, nc);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_prepend_relative(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n),
+ EINA_INLIST_GET(nc));
else
- o->nodes = evas_object_list_append_relative(o->nodes, n, nc);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_append_relative(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n),
+ EINA_INLIST_GET(nc));
if ((cur->pos <= nc->len) && (cur->pos != 0))
{
n2 = calloc(1, sizeof(Evas_Object_Textblock_Node));
n2->type = NODE_TEXT;
n2->text = _strbuf_append(n2->text, (char *)(nc->text + cur->pos), &(n2->len), &(n2->alloc));
- o->nodes = evas_object_list_append_relative(o->nodes, n2, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_append_relative(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n2),
+ EINA_INLIST_GET(n));
*(nc->text + cur->pos) = 0;
nc->len = cur->pos;
o = (Evas_Object_Textblock *)(cur->obj->object_data);
n = cur->node;
if ((n->text) && (!strcmp(n->text, "\n")) &&
- (!((Evas_Object_List *)n)->next)) return;
- n2 = (Evas_Object_Textblock_Node *)(((Evas_Object_List *)n)->next);
+ (!(EINA_INLIST_GET(n))->next)) return;
+ n2 = (Evas_Object_Textblock_Node *)((EINA_INLIST_GET(n))->next);
if (n2)
{
cur->node = n2;
}
else
{
- n2 = (Evas_Object_Textblock_Node *)(((Evas_Object_List *)n)->prev);
+ n2 = (Evas_Object_Textblock_Node *)((EINA_INLIST_GET(n))->prev);
cur->node = n2;
cur->pos = 0;
evas_textblock_cursor_char_last(cur);
}
}
- o->nodes = evas_object_list_remove(o->nodes, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_remove(EINA_INLIST_GET(o->nodes), EINA_INLIST_GET(n));
if (n->text) free(n->text);
free(n);
}
if (cur->pos == n->len)
{
- n2 = (Evas_Object_Textblock_Node *)(((Evas_Object_List *)n)->next);
+ n2 = (Evas_Object_Textblock_Node *)((EINA_INLIST_GET(n))->next);
if (n2)
{
cur->node = n2;
{
Evas_Object_Textblock *o;
Evas_Object_Textblock_Node *n1, *n2, *n, *tn;
- Evas_Object_List *l;
int chr, index;
if (!cur1) return;
}
if (cur1->pos >= n1->len)
{
- n2 = (Evas_Object_Textblock_Node *)(((Evas_Object_List *)n1)->next);
+ n2 = (Evas_Object_Textblock_Node *)((EINA_INLIST_GET(n1))->next);
if (n2)
{
cur1->node = n2;
{
Evas_List *removes, *format_hump = NULL;
Evas_Textblock_Cursor tcur;
-
+ Eina_Inlist *l;
+
tcur.node = n2;
tcur.pos = 0;
index = cur2->pos;
chr = evas_common_font_utf8_get_next((unsigned char *)n2->text, &index);
if ((chr == 0) || (index >= n2->len))
{
- tcur.node = (Evas_Object_Textblock_Node *)((Evas_Object_List *)n2)->next;
+ tcur.node = (Evas_Object_Textblock_Node *)(EINA_INLIST_GET(n2))->next;
tcur.pos = 0;
if (!tcur.node)
{
}
else
{
- tcur.node = (Evas_Object_Textblock_Node *)((Evas_Object_List *)n1)->prev;
+ tcur.node = (Evas_Object_Textblock_Node *)(EINA_INLIST_GET(n1))->prev;
if ((tcur.node) && (tcur.node->type == NODE_TEXT))
tcur.pos = evas_common_font_utf8_get_last((unsigned char *)tcur.node->text, tcur.node->len);
else
}
n1->text = _strbuf_remove(n1->text, cur1->pos, n1->len, &(n1->len), &(n1->alloc));
removes = NULL;
- for (l = ((Evas_Object_List *)n1)->next; l != (Evas_Object_List *)n2; l = l->next)
+ for (l = (EINA_INLIST_GET(n1))->next; l != EINA_INLIST_GET(n2); l = l->next)
removes = evas_list_append(removes, l);
if (n1->type == NODE_TEXT)
{
format_hump = evas_list_append(format_hump, n1);
else
{
- o->nodes = evas_object_list_remove(o->nodes, n1);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_remove(EINA_INLIST_GET(o->nodes), EINA_INLIST_GET(n1));
if (n1->text) free(n1->text);
free(n1);
}
n = removes->data;
if (n->type == NODE_TEXT)
{
- o->nodes = evas_object_list_remove(o->nodes, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_remove(EINA_INLIST_GET(o->nodes), EINA_INLIST_GET(n));
if (n->text) free(n->text);
free(n);
}
if (tn)
{
format_hump = evas_list_remove_list(format_hump, evas_list_last(format_hump));
- o->nodes = evas_object_list_remove(o->nodes, tn);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_remove(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(tn));
if (tn->text) free(tn->text);
free(tn);
- o->nodes = evas_object_list_remove(o->nodes, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_remove(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n));
if (n->text) free(n->text);
free(n);
}
}
else
{
- o->nodes = evas_object_list_remove(o->nodes, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_remove(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n));
if (n->text) free(n->text);
free(n);
}
{
if (tcur.node == n2)
{
- if (((Evas_Object_List *)n2)->next)
+ if ((EINA_INLIST_GET(n2))->next)
{
- tcur.node = ((Evas_Object_List *)n2)->next;
+ tcur.node = (Evas_Object_Textblock_Node *) (EINA_INLIST_GET(n2))->next;
tcur.pos = 0;
}
else
{
- tcur.node = ((Evas_Object_List *)n2)->next;
+ tcur.node = (Evas_Object_Textblock_Node *) (EINA_INLIST_GET(n2))->next;
if (tcur.node)
{
if (tcur.node->type == NODE_TEXT)
}
if (n2->text[0] == '-')
{
- o->nodes = evas_object_list_remove(o->nodes, n2);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_remove(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n2));
if (n2->text) free(n2->text);
free(n2);
n = evas_list_data(evas_list_last(format_hump));
{
if (tcur.node == n)
{
- if (((Evas_Object_List *)n)->next)
+ if ((EINA_INLIST_GET(n))->next)
{
- tcur.node = ((Evas_Object_List *)n)->next;
+ tcur.node = (Evas_Object_Textblock_Node *) (EINA_INLIST_GET(n))->next;
tcur.pos = 0;
}
else
{
- tcur.node = ((Evas_Object_List *)n)->next;
+ tcur.node = (Evas_Object_Textblock_Node *) (EINA_INLIST_GET(n))->next;
if (tcur.node)
{
if (tcur.node->type == NODE_TEXT)
}
}
}
- o->nodes = evas_object_list_remove(o->nodes, n);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_remove(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n));
if (n->text) free(n->text);
free(n);
}
}
else
{
- o->nodes = evas_object_list_remove(o->nodes, n2);
+ o->nodes = (Evas_Object_Textblock_Node *)eina_inlist_remove(EINA_INLIST_GET(o->nodes),
+ EINA_INLIST_GET(n2));
if (n2->text) free(n2->text);
free(n2);
}
{
Evas_Object_Textblock *o;
Evas_Object_Textblock_Node *n1, *n2, *n;
- Evas_Object_List *l;
char *str = NULL, *s;
int len = 0, alloc = 0, chr, index;
n2 = cur2->node;
index = cur2->pos;
chr = evas_common_font_utf8_get_next((unsigned char *)n2->text, &index);
- for (l = (Evas_Object_List *)n1; ;l = l->next)
+ EINA_INLIST_ITER_NEXT(n1, n)
{
- n = (Evas_Object_Textblock_Node *)l;
if (n->type == NODE_TEXT)
{
s = n->text;
str = _strbuf_append(str, ">", &len, &alloc);
}
}
- if (l == (Evas_Object_List *)n2) break;
+ if (n == n2) break;
}
return str;
}
evas_textblock_cursor_char_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord x, Evas_Coord y)
{
Evas_Object_Textblock *o;
- Evas_Object_List *l, *ll;
+ Evas_Object_Textblock_Line *ln;
Evas_Object_Textblock_Item *it = NULL, *it_break = NULL;
Evas_Object_Textblock_Format_Item *fi = NULL;
if (!o->formatted.valid) _relayout(cur->obj);
x += o->style_pad.l;
y += o->style_pad.t;
- for (l = (Evas_Object_List *)o->lines; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(o->lines, ln)
{
- Evas_Object_Textblock_Line *ln;
-
- ln = (Evas_Object_Textblock_Line *)l;
if (ln->y > y) break;
if ((ln->y <= y) && ((ln->y + ln->h) > y))
{
- for (ll = (Evas_Object_List *)ln->items; ll; ll = ll->next)
+ EINA_INLIST_ITER_NEXT(ln->items, it)
{
- it = (Evas_Object_Textblock_Item *)ll;
if ((it->x + ln->x) > x)
{
it_break = it;
{
int pos;
int cx, cy, cw, ch;
-
+
pos = -1;
if (it->format->font.font)
pos = cur->ENFN->font_char_at_coords_get(cur->ENDT,
return 1;
}
}
- for (ll = (Evas_Object_List *)ln->format_items; ll; ll = ll->next)
+ EINA_INLIST_ITER_NEXT(ln->format_items, fi)
{
- fi = (Evas_Object_Textblock_Format_Item *)ll;
if ((fi->x + ln->x) > x) break;
if (((fi->x + ln->x) <= x) && (((fi->x + ln->x) + fi->w) > x))
{
evas_textblock_cursor_line_coord_set(Evas_Textblock_Cursor *cur, Evas_Coord y)
{
Evas_Object_Textblock *o;
- Evas_Object_List *l;
-
+ Evas_Object_Textblock_Line *ln;
+
if (!cur) return -1;
o = (Evas_Object_Textblock *)(cur->obj->object_data);
if (!o->formatted.valid) _relayout(cur->obj);
y += o->style_pad.t;
- for (l = (Evas_Object_List *)o->lines; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(o->lines, ln)
{
- Evas_Object_Textblock_Line *ln;
-
- ln = (Evas_Object_Textblock_Line *)l;
if (ln->y > y) break;
if ((ln->y <= y) && ((ln->y + ln->h) > y))
{
static void
evas_object_textblock_render(Evas_Object *obj, void *output, void *context, void *surface, int x, int y)
{
+ Evas_Object_Textblock_Line *ln;
Evas_Object_Textblock *o;
- Evas_Object_List *l, *ll;
int i, j;
int pback = 0, backx = 0;
int pline = 0, linex = 0;
//// obj->cur.cache.geometry.h);
#endif
#define ITEM_WALK() \
- for (l = (Evas_Object_List *)o->lines; l; l = l->next) \
+ EINA_INLIST_ITER_NEXT(o->lines, ln) \
{ \
- Evas_Object_Textblock_Line *ln; \
+ Evas_Object_Textblock_Item *it; \
\
- ln = (Evas_Object_Textblock_Line *)l; \
pback = 0; \
pline = 0; \
pline2 = 0; \
pstrike = 0; \
- for (ll = (Evas_Object_List *)ln->items; ll; ll = ll->next) \
+ EINA_INLIST_ITER_NEXT(ln->items, it) \
{ \
- Evas_Object_Textblock_Item *it; \
int yoff; \
\
- it = (Evas_Object_Textblock_Item *)ll; \
yoff = ln->baseline; \
if (it->format->valign != -1.0) \
yoff = (it->format->valign * (double)(ln->h - it->h)) + it->baseline;
pback = 0;
/* backing */
ITEM_WALK();
- if ((it->format->backing) && (!pback) && (ll->next))
+ if ((it->format->backing) && (!pback) && ((EINA_INLIST_GET(it))->next))
{
pback = 1;
backx = it->x;
a = it->format->color.backing.a;
}
else if (((pback) && (!it->format->backing)) ||
- (!ll->next) ||
+ (!(EINA_INLIST_GET(it))->next) ||
(it->format->color.backing.r != r) ||
(it->format->color.backing.g != g) ||
(it->format->color.backing.b != b) ||
ITEM_WALK();
COLOR_SET(normal);
DRAW_TEXT(0, 0);
- if ((it->format->strikethrough) && (!pstrike) && (ll->next))
+ if ((it->format->strikethrough) && (!pstrike) && ((EINA_INLIST_GET(it))->next))
{
pstrike = 1;
strikex = it->x;
a3 = it->format->color.strikethrough.a;
}
else if (((pstrike) && (!it->format->strikethrough)) ||
- (!ll->next) ||
+ (!(EINA_INLIST_GET(it))->next) ||
(it->format->color.strikethrough.r != r3) ||
(it->format->color.strikethrough.g != g3) ||
(it->format->color.strikethrough.b != b3) ||
b3 = it->format->color.strikethrough.b;
a3 = it->format->color.strikethrough.a;
}
- if ((it->format->underline) && (!pline) && (ll->next))
+ if ((it->format->underline) && (!pline) && ((EINA_INLIST_GET(it))->next))
{
pline = 1;
linex = it->x;
a = it->format->color.underline.a;
}
else if (((pline) && (!it->format->underline)) ||
- (!ll->next) ||
+ (!(EINA_INLIST_GET(it))->next) ||
(it->format->color.underline.r != r) ||
(it->format->color.underline.g != g) ||
(it->format->color.underline.b != b) ||
b = it->format->color.underline.b;
a = it->format->color.underline.a;
}
- if ((it->format->underline2) && (!pline2) && (ll->next))
+ if ((it->format->underline2) && (!pline2) && ((EINA_INLIST_GET(it))->next))
{
pline2 = 1;
line2x = it->x;
a2 = it->format->color.underline2.a;
}
else if (((pline2) && (!it->format->underline2)) ||
- (!ll->next) ||
+ (!(EINA_INLIST_GET(it))->next) ||
(it->format->color.underline2.r != r2) ||
(it->format->color.underline2.g != g2) ||
(it->format->color.underline2.b != b2) ||
_evas_object_textblock_rehint(Evas_Object *obj)
{
Evas_Object_Textblock *o;
- Evas_Object_List *l, *ll;
-
+ Evas_Object_Textblock_Line *ln;
+
o = (Evas_Object_Textblock *)(obj->object_data);
- for (l = (Evas_Object_List *)o->lines; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(o->lines, ln)
{
- Evas_Object_Textblock_Line *ln;
-
- ln = (Evas_Object_Textblock_Line *)l;
- for (ll = (Evas_Object_List *)ln->items; ll; ll = ll->next)
+ Evas_Object_Textblock_Item *it;
+
+ EINA_INLIST_ITER_NEXT(ln->items, it)
{
- Evas_Object_Textblock_Item *it;
-
- it = (Evas_Object_Textblock_Item *)ll;
if (it->format->font.font)
evas_font_load_hinting_set(obj->layer->evas,
it->format->font.font,
{
if (obj->smart.smart)
{
- const Evas_Object_List *l;
+ Evas_Object *obj2;
eina_array_push(render_objects, obj);
obj->render_pre = 1;
- for (l = evas_object_smart_members_get_direct(obj); l; l = l->next)
+ EINA_INLIST_ITER_NEXT(evas_object_smart_members_get_direct(obj), obj2)
{
- Evas_Object *obj2;
-
- obj2 = (Evas_Object *)l;
_evas_render_phase1_object_process(e, obj2,
active_objects,
restack_objects,
{
if (obj->smart.smart)
{
- const Evas_Object_List *l;
+ Evas_Object *obj2;
eina_array_push(render_objects, obj);
obj->render_pre = 1;
- for (l = evas_object_smart_members_get_direct(obj); l; l = l->next)
+ EINA_INLIST_ITER_NEXT(evas_object_smart_members_get_direct(obj), obj2)
{
- Evas_Object *obj2;
-
- obj2 = (Evas_Object *)l;
_evas_render_phase1_object_process(e, obj2,
active_objects,
restack_objects,
static Evas_Bool
_evas_render_phase1_process(Evas *e, Eina_Array *active_objects, Eina_Array *restack_objects, Eina_Array *delete_objects, Eina_Array *render_objects)
{
- Evas_Object_List *l;
+ Evas_Layer *lay;
int clean_them = 0;
- for (l = (Evas_Object_List *)e->layers; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(e->layers, lay)
{
- Evas_Object_List *l2;
- Evas_Layer *lay;
+ Evas_Object *obj;
- lay = (Evas_Layer *)l;
- for (l2 = (Evas_Object_List *)lay->objects; l2; l2 = l2->next)
+ EINA_INLIST_ITER_NEXT(lay->objects, obj)
{
- Evas_Object *obj;
-
- obj = (Evas_Object *)l2;
clean_them |= _evas_render_phase1_object_process(e, obj,
active_objects, restack_objects,
delete_objects, render_objects,
}
}
-Eina_Bool pending_change(void *data, void *gdata)
+Eina_Bool pending_change(void *data, __UNUSED__ void *gdata)
{
Evas_Object *obj;
static Evas_Object *
evas_object_above_get_internal(const Evas_Object *obj)
{
- if (((Evas_Object_List *)obj)->next)
- return (Evas_Object *)(((Evas_Object_List *)obj)->next);
+ if ((EINA_INLIST_GET(obj))->next)
+ return (Evas_Object *)((EINA_INLIST_GET(obj))->next);
else
{
- if (((Evas_Object_List *)(((Evas_Object *)obj)->layer))->next)
+ if ((EINA_INLIST_GET(((Evas_Object*)(obj))->layer))->next)
{
Evas_Layer *l;
- l = (Evas_Layer *)(((Evas_Object_List *)(((Evas_Object *)obj)->layer))->next);
+ l = (Evas_Layer *)((EINA_INLIST_GET((((Evas_Object *)obj)->layer)))->next);
return l->objects;
}
}
static Evas_Object *
evas_object_below_get_internal(const Evas_Object *obj)
{
- if (((Evas_Object_List *)obj)->prev)
- return (Evas_Object *)(((Evas_Object_List *)obj)->prev);
+ if ((EINA_INLIST_GET(obj))->prev)
+ return (Evas_Object *)((EINA_INLIST_GET(obj))->prev);
else
{
- if (((Evas_Object_List *)(((Evas_Object *)obj)->layer))->prev)
+ if ((EINA_INLIST_GET((((Evas_Object *)obj)->layer)))->prev)
{
Evas_Layer *l;
- l = (Evas_Layer *)(((Evas_Object_List *)(((Evas_Object *)obj)->layer))->prev);
- return (Evas_Object *)(((Evas_Object_List *)(l->objects))->last);
+ l = (Evas_Layer *)((EINA_INLIST_GET((((Evas_Object *)obj)->layer)))->prev);
+ return (Evas_Object *)((EINA_INLIST_GET((l->objects)))->last);
}
}
return NULL;
return;
MAGIC_CHECK_END();
if (evas_object_intercept_call_raise(obj)) return;
- if (!(((Evas_Object_List *)obj)->next))
+ if (!((EINA_INLIST_GET(obj))->next))
{
evas_object_inform_call_restack(obj);
return;
else
{
if (obj->in_layer)
- {
- obj->layer->objects = evas_object_list_remove(obj->layer->objects, obj);
- obj->layer->objects = evas_object_list_append(obj->layer->objects, obj);
- }
+ obj->layer->objects = (Evas_Object *)eina_inlist_demote(EINA_INLIST_GET(obj->layer->objects),
+ EINA_INLIST_GET(obj));
}
if (obj->clip.clipees)
{
return;
MAGIC_CHECK_END();
if (evas_object_intercept_call_lower(obj)) return;
- if (!(((Evas_Object_List *)obj)->prev))
+ if (!((EINA_INLIST_GET(obj))->prev))
{
evas_object_inform_call_restack(obj);
return;
else
{
if (obj->in_layer)
- {
- obj->layer->objects = evas_object_list_remove(obj->layer->objects, obj);
- obj->layer->objects = evas_object_list_prepend(obj->layer->objects, obj);
- }
+ obj->layer->objects = (Evas_Object *)eina_inlist_promote(EINA_INLIST_GET(obj->layer->objects),
+ EINA_INLIST_GET(obj));
}
if (obj->clip.clipees)
{
evas_object_raise(obj);
return;
}
- if (((Evas_Object_List *)obj)->prev == (Evas_Object_List *)above)
+ if ((EINA_INLIST_GET(obj))->prev == EINA_INLIST_GET(above))
{
evas_object_inform_call_restack(obj);
return;
}
if (obj->in_layer)
{
- obj->layer->objects = evas_object_list_remove(obj->layer->objects, obj);
- obj->layer->objects = evas_object_list_append_relative(obj->layer->objects, obj, above);
+ obj->layer->objects = (Evas_Object *)eina_inlist_remove(EINA_INLIST_GET(obj->layer->objects),
+ EINA_INLIST_GET(obj));
+ obj->layer->objects = (Evas_Object *)eina_inlist_append_relative(EINA_INLIST_GET(obj->layer->objects),
+ EINA_INLIST_GET(obj),
+ EINA_INLIST_GET(above));
}
}
if (obj->clip.clipees)
evas_object_lower(obj);
return;
}
- if (((Evas_Object_List *)obj)->next == (Evas_Object_List *)below)
+ if ((EINA_INLIST_GET(obj))->next == EINA_INLIST_GET(below))
{
evas_object_inform_call_restack(obj);
return;
}
if (obj->in_layer)
{
- obj->layer->objects = evas_object_list_remove(obj->layer->objects, obj);
- obj->layer->objects = evas_object_list_prepend_relative(obj->layer->objects, obj, below);
+ obj->layer->objects = (Evas_Object *)eina_inlist_remove(EINA_INLIST_GET(obj->layer->objects),
+ EINA_INLIST_GET(obj));
+ obj->layer->objects = (Evas_Object *)eina_inlist_prepend_relative(EINA_INLIST_GET(obj->layer->objects),
+ EINA_INLIST_GET(obj),
+ EINA_INLIST_GET(below));
}
}
if (obj->clip.clipees)
{
do
{
- obj = (Evas_Object *)(((Evas_Object_List *)(obj))->next);
+ obj = (Evas_Object *)((EINA_INLIST_GET(obj))->next);
if ((obj) && (!obj->delete_me)) return (Evas_Object *)obj;
}
while (obj);
{
do
{
- obj = (Evas_Object *)(((Evas_Object_List *)(obj))->prev);
+ obj = (Evas_Object *)((EINA_INLIST_GET(obj))->prev);
if ((obj) && (!obj->delete_me)) return (Evas_Object *)obj;
}
while (obj);
evas_object_top_get(const Evas *e)
{
Evas_Object *obj = NULL;
- Evas_Object_List *list;
+ Eina_Inlist *list;
Evas_Layer *layer;
MAGIC_CHECK(e, Evas, MAGIC_EVAS);
return NULL;
MAGIC_CHECK_END();
- list = (Evas_Object_List *) e->layers;
+ list = EINA_INLIST_GET(e->layers);
if (!list) return NULL;
layer = (Evas_Layer *) list->last;
if (!layer) return NULL;
- list = (Evas_Object_List *) layer->objects;
+ list = EINA_INLIST_GET(layer->objects);
if (!list) return NULL;
obj = (Evas_Object *) list->last;
struct _Evas_Hash_El
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
const char *key;
void *data;
};
strcpy((char *) el->key, key);
el->data = (void *)data;
hash_num = _evas_hash_gen(key);
- hash->buckets[hash_num] = evas_object_list_prepend(hash->buckets[hash_num], el);
+ hash->buckets[hash_num] = eina_inlist_prepend(hash->buckets[hash_num], EINA_INLIST_GET(el));
hash->population++;
return hash;
}
el->key = key;
el->data = (void *)data;
hash_num = _evas_hash_gen(key);
- hash->buckets[hash_num] = evas_object_list_prepend(hash->buckets[hash_num], el);
+ hash->buckets[hash_num] = eina_inlist_prepend(hash->buckets[hash_num], EINA_INLIST_GET(el));
hash->population++;
return hash;
}
{
int hash_num;
Evas_Hash_El *el;
- Evas_Object_List *l;
if (!hash) return NULL;
if (!key)
{
int hash_num;
-
+
for (hash_num = 0; hash_num < 256; hash_num++)
{
- for (l = hash->buckets[hash_num]; l; l = l->next)
- {
- el = (Evas_Hash_El *)l;
- if (el->data == data)
- {
- hash->buckets[hash_num] = evas_object_list_remove(hash->buckets[hash_num], el);
- free(el);
- hash->population--;
- if (hash->population <= 0)
- {
- free(hash);
- hash = NULL;
- }
- return hash;
- }
- }
+ EINA_INLIST_ITER_NEXT(hash->buckets[hash_num], el)
+ if (el->data == data)
+ {
+ hash->buckets[hash_num] = eina_inlist_remove(hash->buckets[hash_num], EINA_INLIST_GET(el));
+ free(el);
+ hash->population--;
+ if (hash->population <= 0)
+ {
+ free(hash);
+ hash = NULL;
+ }
+ return hash;
+ }
}
}
else
{
hash_num = _evas_hash_gen(key);
- for (l = hash->buckets[hash_num]; l; l = l->next)
- {
- el = (Evas_Hash_El *)l;
- if (!strcmp(el->key, key))
- {
- if ((!data) || (el->data == data))
- {
- hash->buckets[hash_num] = evas_object_list_remove(hash->buckets[hash_num], el);
- free(el);
- hash->population--;
- if (hash->population <= 0)
- {
- free(hash);
- hash = NULL;
- }
- return hash;
- }
- }
- }
+ EINA_INLIST_ITER_NEXT(hash->buckets[hash_num], el)
+ if (!strcmp(el->key, key))
+ {
+ if ((!data) || (el->data == data))
+ {
+ hash->buckets[hash_num] = eina_inlist_remove(hash->buckets[hash_num], EINA_INLIST_GET(el));
+ free(el);
+ hash->population--;
+ if (hash->population <= 0)
+ {
+ free(hash);
+ hash = NULL;
+ }
+ return hash;
+ }
+ }
}
return hash;
}
{
int hash_num;
Evas_Hash_El *el;
- Evas_Object_List *l;
_evas_hash_alloc_error = 0;
if ((!hash) || (!key)) return NULL;
hash_num = _evas_hash_gen(key);
- for (l = hash->buckets[hash_num]; l; l = l->next)
- {
- el = (Evas_Hash_El *)l;
- if (!strcmp(el->key, key))
- {
- if (l != hash->buckets[hash_num])
- {
- Evas_Object_List *bucket;
-
- bucket = hash->buckets[hash_num];
- bucket = evas_object_list_remove(bucket, el);
- bucket = evas_object_list_prepend(bucket, el);
- ((Evas_Hash *)hash)->buckets[hash_num] = bucket;
- }
- return el->data;
- }
- }
+ EINA_INLIST_ITER_NEXT(hash->buckets[hash_num], el)
+ if (!strcmp(el->key, key))
+ {
+ ((Evas_Hash *)hash)->buckets[hash_num] = eina_inlist_promote(((Evas_Hash *)hash)->buckets[hash_num], EINA_INLIST_GET(el));
+ return el->data;
+ }
return NULL;
}
{
int hash_num;
Evas_Hash_El *el;
- Evas_Object_List *l;
_evas_hash_alloc_error = 0;
if (!hash) return NULL;
hash_num = _evas_hash_gen(key);
- for (l = hash->buckets[hash_num]; l; l = l->next)
- {
- el = (Evas_Hash_El *)l;
- if ((key) && (!strcmp(el->key, key)))
- {
- void *old_data;
-
- if (l != hash->buckets[hash_num])
- {
- hash->buckets[hash_num] = evas_object_list_remove(hash->buckets[hash_num], el);
- hash->buckets[hash_num] = evas_object_list_prepend(hash->buckets[hash_num], el);
- }
- old_data = el->data;
- el->data = (void *) data;
- return old_data;
- }
- }
+ EINA_INLIST_ITER_NEXT(hash->buckets[hash_num], el)
+ if ((key) && (!strcmp(el->key, key)))
+ {
+ void *old_data;
+
+ hash->buckets[hash_num] = eina_inlist_promote(hash->buckets[hash_num], EINA_INLIST_GET(el));
+
+ old_data = el->data;
+ el->data = (void *) data;
+ return old_data;
+ }
return NULL;
}
Evas_Hash_El *el;
el = (Evas_Hash_El *)hash->buckets[i];
- hash->buckets[i] = evas_object_list_remove(hash->buckets[i], el);
+ hash->buckets[i] = eina_inlist_remove(hash->buckets[i], EINA_INLIST_GET(el));
free(el);
}
}
size = evas_hash_size(hash);
for (i = 0; i < size; i++)
{
- Evas_Object_List *l, *next_l;
+ Eina_Inlist *l, *next_l;
for (l = hash->buckets[i]; l;)
{
static int font_cache_usage = 0;
static int font_cache = 0;
-static Evas_Object_List * fonts_src = NULL;
-static Evas_Object_List * fonts = NULL;
+static Eina_Inlist * fonts_src = NULL;
+static Eina_Inlist * fonts = NULL;
static Evas_Bool font_modify_cache_cb(const Evas_Hash *hash, const char *key, void *data, void *fdata);
static Evas_Bool font_flush_free_glyph_cb(const Evas_Hash *hash, const char *key, void *data, void *fdata);
error = FT_Select_Charmap(fs->ft.face, ft_encoding_unicode);
fs->ft.orig_upem = fs->ft.face->units_per_EM;
fs->references = 1;
- fonts_src = evas_object_list_prepend(fonts_src, fs);
+ fonts_src = eina_inlist_prepend(fonts_src, EINA_INLIST_GET(fs));
return fs;
}
fs->ft.orig_upem = 0;
fs->references = 1;
- fonts_src = evas_object_list_prepend(fonts_src, fs);
+ fonts_src = eina_inlist_prepend(fonts_src, EINA_INLIST_GET(fs));
return fs;
}
EAPI RGBA_Font_Source *
evas_common_font_source_find(const char *name)
{
- Evas_Object_List *l;
+ Eina_Inlist *l;
if (!name) return NULL;
for (l = fonts_src; l; l = l->next)
if ((fs->name) && (!strcmp(name, fs->name)))
{
fs->references++;
- fonts_src = evas_object_list_remove(fonts_src, fs);
- fonts_src = evas_object_list_prepend(fonts_src, fs);
+ fonts_src = eina_inlist_demote(fonts_src, EINA_INLIST_GET(fs));
return fs;
}
}
fs->references--;
if (fs->references > 0) return;
- fonts_src = evas_object_list_remove(fonts_src, fs);
+ fonts_src = eina_inlist_remove(fonts_src, EINA_INLIST_GET(fs));
FT_Done_Face(fs->ft.face);
if (fs->charmap) evas_array_hash_free(fs->charmap);
if (fs->name) eina_stringshare_del(fs->name);
fi->glyphs = NULL;
fi->usage = 0;
fi->references = 1;
- fonts = evas_object_list_prepend(fonts, fi);
+ fonts = eina_inlist_prepend(fonts, EINA_INLIST_GET(fi));
return fi;
}
EAPI void
evas_common_font_flush_last(void)
{
- Evas_Object_List *l;
+ Eina_Inlist *l;
RGBA_Font_Int *fi = NULL;
for (l = fonts; l; l = l->next)
FT_Done_Size(fi->ft.size);
- fonts = evas_object_list_remove(fonts, fi);
+ fonts = eina_inlist_remove(fonts, EINA_INLIST_GET(fi));
evas_common_font_int_modify_cache_by(fi, -1);
evas_hash_foreach(fi->glyphs, font_flush_free_glyph_cb, NULL);
EAPI RGBA_Font_Int *
evas_common_font_int_find(const char *name, int size)
{
- Evas_Object_List *l;
+ Eina_Inlist *l;
for (l = fonts; l; l = l->next)
{
{
if (fi->references == 0) evas_common_font_int_modify_cache_by(fi, -1);
fi->references++;
- fonts = evas_object_list_remove(fonts, fi);
- fonts = evas_object_list_prepend(fonts, fi);
+ fonts = eina_inlist_promote(fonts, EINA_INLIST_GET(fi));
return fi;
}
}
if (!gr) return;
if (gr->stops.stops)
{
- Evas_Object_List *l;
+ Eina_Inlist *l;
while (gr->stops.stops)
{
l = gr->stops.stops;
- gr->stops.stops = evas_object_list_remove(gr->stops.stops, gr->stops.stops);
+ gr->stops.stops = eina_inlist_remove(gr->stops.stops, gr->stops.stops);
free(l);
}
gr->stops.stops = NULL;
evas_common_gradient2_color_np_stop_insert(RGBA_Gradient2 *gr, int r, int g, int b, int a, float pos)
{
RGBA_Gradient2_Color_Np_Stop *gc;
- Evas_Object_List *l;
+ Eina_Inlist *l;
if (!gr) return;
if (!gr->stops.stops)
gc->r = gc->g = gc->b = gc->a = 255; gc->pos = 0.0; gc->dist = 0;
gc1->r = gc1->g = gc1->b = gc1->a = 255; gc1->pos = 1.0; gc1->dist = 0;
- gr->stops.stops = evas_object_list_append(gr->stops.stops, gc);
- gr->stops.stops = evas_object_list_append(gr->stops.stops, gc1);
+ gr->stops.stops = eina_inlist_append(gr->stops.stops, EINA_INLIST_GET(gc));
+ gr->stops.stops = eina_inlist_append(gr->stops.stops, EINA_INLIST_GET(gc1));
gr->stops.nstops = 2;
gr->stops.len = 0;
}
gc->pos = pos;
gc->dist = 0;
- gr->stops.stops = evas_object_list_prepend_relative(gr->stops.stops, gc, l);
+ gr->stops.stops = eina_inlist_prepend_relative(gr->stops.stops, EINA_INLIST_GET(gc), l);
gr->stops.nstops++;
if (a < 255)
gr->has_alpha = 1;
static void
_evas_common_gradient2_stops_scale(RGBA_Gradient2 *gr)
{
- Evas_Object_List *l;
+ Eina_Inlist *l;
RGBA_Gradient2_Color_Np_Stop *gc, *gc_next;
double scale;
int len;
_evas_common_gradient2_stops_scale(gr);
{
- Evas_Object_List *lc;
+ Eina_Inlist *lc;
RGBA_Gradient2_Color_Np_Stop *gc, *gc_next;
DATA32 *pmap, *map_end;
DATA8 *pamap = NULL;
_evas_common_gradient2_stops_scale(gr);
{
- Evas_Object_List *lc;
+ Eina_Inlist *lc;
RGBA_Gradient2_Color_Np_Stop *gc, *gc_next;
DATA32 *pmap, *map_end;
DATA8 *pamap = NULL;
if (!gr) return;
if (gr->color.stops)
{
- Evas_Object_List *l;
+ Eina_Inlist *l;
while (gr->color.stops)
{
l = gr->color.stops;
- gr->color.stops = evas_object_list_remove(gr->color.stops, gr->color.stops);
+ gr->color.stops = eina_inlist_remove(gr->color.stops, gr->color.stops);
free(l);
}
gr->color.stops = NULL;
}
if (gr->alpha.stops)
{
- Evas_Object_List *l;
+ Eina_Inlist *l;
while (gr->alpha.stops)
{
l = gr->alpha.stops;
- gr->alpha.stops = evas_object_list_remove(gr->alpha.stops, gr->alpha.stops);
+ gr->alpha.stops = eina_inlist_remove(gr->alpha.stops, gr->alpha.stops);
free(l);
}
gr->alpha.stops = NULL;
if (!gr->color.stops)
{
- gr->color.stops = evas_object_list_append(gr->color.stops, gc);
+ gr->color.stops = eina_inlist_append(gr->color.stops, EINA_INLIST_GET(gc));
gr->color.nstops = 1;
gr->color.len = 1;
if (a < 255)
gcm->b = (gc_last->b + b) / 2;
gcm->a = (gc_last->a + a) / 2;
gcm->dist = dist;
- gr->color.stops = evas_object_list_append(gr->color.stops, gcm);
+ gr->color.stops = eina_inlist_append(gr->color.stops, EINA_INLIST_GET(gcm));
gr->color.len += gc_last->dist;
- gr->color.stops = evas_object_list_append(gr->color.stops, gc);
+ gr->color.stops = eina_inlist_append(gr->color.stops, EINA_INLIST_GET(gc));
gr->color.len += dist;
gr->color.nstops += 2;
if (a < 255)
if (!gr->alpha.stops)
{
- gr->alpha.stops = evas_object_list_append(gr->alpha.stops, ga);
+ gr->alpha.stops = eina_inlist_append(gr->alpha.stops, EINA_INLIST_GET(ga));
gr->alpha.nstops = 1;
gr->alpha.len = 1;
if (a < 255)
{ free(ga); free(gam); return; }
gam->a = (ga_last->a + a) / 2;
gam->dist = dist;
- gr->alpha.stops = evas_object_list_append(gr->alpha.stops, gam);
+ gr->alpha.stops = eina_inlist_append(gr->alpha.stops, EINA_INLIST_GET(gam));
gr->alpha.len += ga_last->dist;
- gr->alpha.stops = evas_object_list_append(gr->alpha.stops, ga);
+ gr->alpha.stops = eina_inlist_append(gr->alpha.stops, EINA_INLIST_GET(ga));
gr->alpha.len += dist;
gr->alpha.nstops += 2;
if (a < 255)
if (gr->color.stops)
{
- Evas_Object_List *lc;
+ Eina_Inlist *lc;
RGBA_Gradient_Color_Stop *gc, *gc_next;
DATA32 *pmap, *map_end;
int i, dii;
if (gr->alpha.stops)
{
- Evas_Object_List *lc;
+ Eina_Inlist *lc;
RGBA_Gradient_Alpha_Stop *ga, *ga_next;
DATA8 *pamap, *amap_end;
int i, dii;
if (gr->color.stops)
{
- Evas_Object_List *lc;
+ Eina_Inlist *lc;
RGBA_Gradient_Color_Stop *gc, *gc_next;
DATA32 *pmap, *map_end;
int i, dii;
if (gr->alpha.stops)
{
- Evas_Object_List *lc;
+ Eina_Inlist *lc;
RGBA_Gradient_Alpha_Stop *ga, *ga_next;
DATA8 *pamap, *amap_end;
int i, dii;
{
if (a == 0)
{
- is->spans[y] = evas_object_list_append(is->spans[y], sp);
+ is->spans[y] = eina_inlist_append(is->spans[y], sp);
sp = NULL;
}
else
}
if (sp)
{
- is->spans[y] = evas_object_list_append(is->spans[y], sp);
+ is->spans[y] = eina_inlist_append(is->spans[y], sp);
sp = NULL;
}
}
first_pipe = 1;
p = calloc(1, sizeof(RGBA_Pipe));
if (!p) return NULL;
- pipe = evas_object_list_append(pipe, p);
+ pipe = (RGBA_Pipe *)eina_inlist_append(EINA_INLIST_GET(pipe), EINA_INLIST_GET(p));
}
- p = (RGBA_Pipe *)((Evas_Object_List *)pipe)->last;
+ p = (RGBA_Pipe *)(EINA_INLIST_GET(pipe))->last;
if (p->op_num == PIPE_LEN)
{
p = calloc(1, sizeof(RGBA_Pipe));
if (!p) return NULL;
- pipe = evas_object_list_append(pipe, p);
+ pipe = (RGBA_Pipe *)eina_inlist_append(EINA_INLIST_GET(pipe), EINA_INLIST_GET(p));
}
p->op_num++;
*op = &(p->op[p->op_num - 1]);
// {
// thinfo->info = NULL;
// printf(" TH %i GO\n", thinfo->thread_num);
- for (p = info->im->pipe; p; p = (RGBA_Pipe *)((Evas_Object_List *)p)->next)
+ EINA_INLIST_ITER_NEXT(EINA_INLIST_GET(info->im->pipe), p)
{
int i;
#endif
{
/* process pipe - 1 thead */
- for (p = im->pipe; p; p = (RGBA_Pipe *)((Evas_Object_List *)p)->next)
+ for (p = im->pipe; p; p = (RGBA_Pipe *)(EINA_INLIST_GET(p))->next)
{
for (i = 0; i < p->op_num; i++)
{
if (p->op[i].free_func)
p->op[i].free_func(&(p->op[i]));
}
- im->pipe = evas_object_list_remove(im->pipe, p);
+ im->pipe = (RGBA_Pipe *)eina_inlist_remove(EINA_INLIST_GET(im->pipe), EINA_INLIST_GET(p));
free(p);
}
}
while (op->op.poly.points)
{
p = op->op.poly.points;
- op->op.poly.points = evas_object_list_remove(op->op.poly.points, p);
+ op->op.poly.points = (RGBA_Polygon_Point *)eina_inlist_remove(EINA_INLIST_GET(op->op.poly.points),
+ EINA_INLIST_GET(p));
free(p);
}
evas_common_pipe_op_free(op);
dst->pipe = evas_common_pipe_add(dst->pipe, &op);
if (!dst->pipe) return;
/* FIXME: copy points - maybe we should refcount? */
- for (p = points; p; p = (RGBA_Polygon_Point *)((Evas_Object_List *)p)->next)
+ for (p = points; p; p = (RGBA_Polygon_Point *)(EINA_INLIST_GET(p))->next)
{
pp = calloc(1, sizeof(RGBA_Polygon_Point));
if (pp)
{
pp->x = p->x;
pp->y = p->y;
- pts = evas_object_list_append(pts, pp);
+ pts = (RGBA_Polygon_Point *)eina_inlist_append(EINA_INLIST_GET(pts), EINA_INLIST_GET(pp));
}
}
op->op.poly.points = pts;
struct _RGBA_Span
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
int x, y, w;
};
if (!pt) return points;
pt->x = x;
pt->y = y;
- points = evas_object_list_append(points, pt);
+ points = (RGBA_Polygon_Point *)eina_inlist_append(EINA_INLIST_GET(points), EINA_INLIST_GET(pt));
return points;
}
RGBA_Polygon_Point *old_p;
old_p = points;
- points = evas_object_list_remove(points, points);
+ points = (RGBA_Polygon_Point *)eina_inlist_remove(EINA_INLIST_GET(points), EINA_INLIST_GET(points));
free(old_p);
}
}
RGBA_Polygon_Point *pt;
RGBA_Vertex *point;
RGBA_Edge *edges;
- Evas_Object_List *spans, *l;
+ Eina_Inlist *spans;
int num_active_edges;
int n;
int i, j, k;
evas_common_cpu_end_opt();
- n = 0; for (l = (Evas_Object_List *)points; l; l = l->next) n++;
+ n = 0; EINA_INLIST_ITER_NEXT(points, pt) n++;
if (n < 3) return;
edges = malloc(sizeof(RGBA_Edge) * n);
if (!edges) return;
}
k = 0;
- for (l = (Evas_Object_List *)points; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(points, pt)
{
- pt = (RGBA_Polygon_Point *)l;
point[k].x = pt->x;
point[k].y = pt->y;
point[k].i = k;
qsort(point, n, sizeof(RGBA_Vertex), polygon_point_sorter);
for (k = 0; k < n; k++) sorted_index[k] = point[k].i;
k = 0;
- for (l = (Evas_Object_List *)points; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(points, pt)
{
- pt = (RGBA_Polygon_Point *)l;
point[k].x = pt->x;
point[k].y = pt->y;
point[k].i = k;
if (x0 < ext_x) x0 = ext_x;
if (x1 >= (ext_x + ext_w)) x1 = ext_x + ext_w - 1;
span = malloc(sizeof(RGBA_Span));
- spans = evas_object_list_append(spans, span);
+ spans = eina_inlist_append(spans, EINA_INLIST_GET(span));
span->y = y;
span->x = x0;
span->w = (x1 - x0) + 1;
func = evas_common_gfx_func_composite_color_span_get(dc->col.col, dst, 1, dc->render_op);
if (spans)
{
- for (l = spans; l; l = l->next)
+ RGBA_Span *span;
+
+ EINA_INLIST_ITER_NEXT(spans, span)
{
- RGBA_Span *span;
DATA32 *ptr;
- span = (RGBA_Span *)l;
#ifdef EVAS_SLI
if (((span->y) % dc->sli.h) == dc->sli.y)
#endif
}
while (spans)
{
- RGBA_Span *span;
-
span = (RGBA_Span *)spans;
- spans = evas_object_list_remove(spans, spans);
+ spans = eina_inlist_remove(spans, spans);
free(span);
}
}
Regionspan *span;
span = rb->spans[y];
- rb->spans[y] = evas_object_list_remove(rb->spans[y], rb->spans[y]);
+ rb->spans[y] = eina_inlist_remove(rb->spans[y], rb->spans[y]);
free(span);
}
}
void
evas_common_regionbuf_span_add(Regionbuf *rb, int x1, int x2, int y)
{
- Evas_Object_List *l;
Regionspan *span, *span2, *nspan, *sp_start, *sp_stop;
/* abort if outside */
if (x2 < (rb->w - 1)) x2 = rb->w - 1;
sp_start = NULL;
sp_stop = NULL;
- for (l = (Evas_Object_List *)rb->spans[y]; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(rb->spans[y], span)
{
- span = (Regionspan *)l;
- nspan = (Regionspan *)l->next;
+ nspan = (Regionspan *)(EINA_INLIST_GET(span))->next;
/* we dont know what t do with the span yet */
if (!sp_start)
{
span2 = calloc(1, sizeof(Regionspan));
span2->x1 = x1;
span2->x2 = x2;
- rb->spans[y] = evas_object_list_prepend_relative(rb->spans[y], span2, sp_start);
+ rb->spans[y] = eina_inlist_prepend_relative(rb->spans[y], span2, sp_start);
return;
}
if (x1 < sp_start->x1)
}
else
{
+ Eina_Inlist *l;
+
/* remove all nodes after sp_start and before_sp_stop because
* the new */
- for (l = ((Evas_Object_List *)sp_start)->next; l != (Evas_Object_List *)sp_stop;)
+ for (l = (EINA_INLIST_GET(sp_start))->next; l != EINA_INLIST_GET(sp_stop);)
{
span = (Regionspan *)l;
l = l->next;
- rb->spans[y] = evas_object_list_remove(rb->spans[y], span);
+ rb->spans[y] = eina_inlist_remove(rb->spans[y], span);
free(span);
}
/* remove the end span */
- rb->spans[y] = evas_object_list_remove(rb->spans[y], sp_stop);
+ rb->spans[y] = eina_inlist_remove(rb->spans[y], sp_stop);
/* if the new span is before the start span - extend */
if (x1 < sp_start->x1)
sp_start->x1 = x1;
span2 = calloc(1, sizeof(Regionspan));
span2->x1 = x1;
span2->x2 = x2;
- rb->spans[y] = evas_object_list_append(rb->spans[y], span2);
+ rb->spans[y] = eina_inlist_append(rb->spans[y], span2);
}
void
evas_common_regionbuf_span_del(Regionbuf *rb, int x1, int x2, int y)
{
/* FIXME: del span */
- Evas_Object_List *l;
Regionspan *span, *span2, *nspan, *sp_start, *sp_stop;
/* abort if outside */
if (x2 < (rb->w - 1)) x2 = rb->w - 1;
sp_start = NULL;
sp_stop = NULL;
- for (l = (Evas_Object_List *)rb->spans[y]; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(rb->spans[y], span)
{
- span = (Regionspan *)l;
- nspan = (Regionspan *)l->next;
+ nspan = (Regionspan *)(EINA_INLIST_GET(l))->next;
/* we dont know what t do with the span yet */
if (!sp_start)
{
}
else
{
- rb->spans[y] = evas_object_list_remove(rb->spans[y], sp_start);
+ rb->spans[y] = eina_inlist_remove(rb->spans[y], sp_start);
return;
}
}
/* remove it all */
else
{
- rb->spans[y] = evas_object_list_remove(rb->spans[y], sp_start);
+ rb->spans[y] = eina_inlist_remove(rb->spans[y], sp_start);
return;
}
return;
span2 = calloc(1, sizeof(Regionspan));
span2->x1 = sp_start->x1;
span2->x2 = x1 - 1;
- rb->spans[y] = evas_object_list_prepend_relative(rb->spans[y], span2, sp_start);
+ rb->spans[y] = eina_inlist_prepend_relative(rb->spans[y], span2, sp_start);
sp_start->x1 = x2 + 1;
return;
}
}
else
{
+ Eina_Inlist *l;
+
/* remove all nodes after sp_start and before_sp_stop because
* the new */
- for (l = ((Evas_Object_List *)sp_start)->next; l != (Evas_Object_List *)sp_stop;)
+ for (l = (EINA_INLIST_GET(sp_start))->next; l != EINA_INLIST_GET(sp_stop);)
{
span = (Regionspan *)l;
l = l->next;
- rb->spans[y] = evas_object_list_remove(rb->spans[y], span);
+ rb->spans[y] = eina_inlist_remove(rb->spans[y], span);
free(span);
}
/* all of the start span is cut out */
if (x1 <= sp_start->x1)
{
- rb->spans[y] = evas_object_list_remove(rb->spans[y], sp_start);
+ rb->spans[y] = eina_inlist_remove(rb->spans[y], sp_start);
free(sp_start);
}
/* chup it off at the new span start */
/* all of the end span is cut out */
if (x2 >= sp_stop->x2)
{
- rb->spans[y] = evas_object_list_remove(rb->spans[y], sp_stop);
+ rb->spans[y] = eina_inlist_remove(rb->spans[y], sp_stop);
free(sp_stop);
}
/* chop it up at the end */
/* FIXME: take spans, make rects */
for (y = 0; y < rb->h; y++)
{
- Evas_Object_List *l, *ll;
+ Regionspan *sp_start;
+ Eina_Inlist *l, *ll;
- for (l = (Evas_Object_List *)rb->spans[y]; l;)
+ for (l = EINA_INLIST_GET(rb->spans[y]); l;)
{
Regionspan *span;
- Regionspan *sp_start;
int yy;
sp_start = (Regionspan *)l;
l = l->next;
- rb->spans[y] = evas_object_list_remove(rb->spans[y], sp_start);
+ rb->spans[y] = eina_inlist_remove(rb->spans[y], sp_start);
for (yy = y + 1; yy < rb->h; yy++)
{
int match = 0;
- for (ll = (Evas_Object_List *)rb->spans[yy]; ll;)
+ for (ll = EINA_INLIST_GET(rb->spans[yy]); ll;)
{
span = (Regionspan *)ll;
ll = ll->next;
goto coallate;
}
match = 1;
- rb->spans[yy] = evas_object_list_remove(rb->spans[yy], span);
+ rb->spans[yy] = eina_inlist_remove(rb->spans[yy], span);
free(span);
}
}
r->y = y;
r->w = sp_start->x2 - sp_start->x1 + 1;
r->h = yy - y;
- rects = evas_object_list_append(rects, r);
+ rects = eina_inlist_append(rects, r);
free(sp_start);
}
}
static const list_node_t list_node_zeroed = { NULL };
static const list_t list_zeroed = { NULL, NULL };
-
typedef struct list_node_pool
{
list_node_t *node;
Tilebuf_Rect *r;
r = malloc(sizeof(Tilebuf_Rect));
- r->_list_data.next = NULL;
- r->_list_data.prev = NULL;
- r->_list_data.last = NULL;
r->x = cur.left;
r->y = cur.top;
r->w = cur.width;
r->h = cur.height;
- rects = evas_object_list_append(rects, r);
+ rects = (Tilebuf_Rect *)eina_inlist_append(EINA_INLIST_GET(rects), EINA_INLIST_GET(r));
}
}
return rects;
r->y = y * tb->tile_size.h;
r->w = (xx) * tb->tile_size.w;
r->h = (yy) * tb->tile_size.h;
- rects = evas_object_list_append(rects, r);
+ rects = eina_inlist_append(rects, r);
x = x + (xx - 1);
tbt += xx - 1;
}
Tilebuf_Rect *r;
r = rects;
- rects = evas_object_list_remove(rects, r);
+ rects = (Tilebuf_Rect *)eina_inlist_remove(EINA_INLIST_GET(rects), EINA_INLIST_GET(r));
free(r);
}
}
RGBA_Polygon_Point *pt;
RGBA_Vertex *point;
RGBA_Edge *edges;
- Evas_Object_List *l;
int num_active_edges;
int n;
int i, j, k;
return;
n = 0;
- for (l = (Evas_Object_List *)points; l; l = l->next)
- n++;
+ EINA_INLIST_ITER_NEXT(points, pt) n++;
if (n < 3)
return;
return;
}
- for (k = 0, l = (Evas_Object_List *)points; l; k++, l = l->next)
+ k = 0;
+ EINA_INLIST_ITER_NEXT(points, pt)
{
- pt = (RGBA_Polygon_Point *)l;
point[k].x = pt->x;
point[k].y = pt->y;
point[k].i = k;
+ k++;
}
qsort(point, n, sizeof(RGBA_Vertex), polygon_point_sorter);
for (k = 0; k < n; k++)
sorted_index[k] = point[k].i;
- for (k = 0, l = (Evas_Object_List *)points; l; k++, l = l->next)
+ k = 0;
+ EINA_INLIST_ITER_NEXT(points, pt)
{
- pt = (RGBA_Polygon_Point *)l;
point[k].x = pt->x;
point[k].y = pt->y;
point[k].i = k;
+ k++;
}
y0 = MAX(ext_y, ceil(point[sorted_index[0]].y - 0.5));
# include "config.h" /* so that EAPI in Evas.h is correctly defined */
#endif
+#include <Eina.h>
#include "Evas.h"
/*****************************************************************************/
struct _Image_Entry
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
Evas_Cache_Image *cache;
struct _Engine_Image_Entry
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
/* Upper Engine data. */
Image_Entry *src;
struct _RGBA_Pipe
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
int op_num;
RGBA_Pipe_Op op[PIPE_LEN];
};
struct _RGBA_Gradient_Color_Stop
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
int r, g, b, a;
int dist;
};
struct _RGBA_Gradient_Alpha_Stop
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
int a;
int dist;
};
} map;
struct {
- Evas_Object_List *stops;
+ Eina_Inlist *stops;
DATA32 *data;
int nstops;
int len;
} color;
struct {
- Evas_Object_List *stops;
+ Eina_Inlist *stops;
DATA8 *data;
int nstops;
int len;
struct _RGBA_Gradient2_Color_Np_Stop
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
int r, g, b, a;
float pos;
int dist;
} map;
struct {
- Evas_Object_List *stops;
+ Eina_Inlist *stops;
int nstops;
DATA32 *cdata;
DATA8 *adata;
struct _RGBA_Polygon_Point
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
int x, y;
};
struct _RGBA_Font_Int
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
RGBA_Font_Source *src;
struct _RGBA_Font_Source
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
const char *name;
const char *file;
struct _Tilebuf_Rect
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
int x, y, w, h;
};
/*
struct _Regionspan
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
int x1, x2;
};
*/
struct _Evas_Callbacks
{
- Evas_Object_List *callbacks;
+ Eina_Inlist *callbacks;
int walking_list;
unsigned char deletions_waiting : 1;
/*
- Evas_Object_List *down;
- Evas_Object_List *up;
- Evas_Object_List *move;
- Evas_Object_List *in;
- Evas_Object_List *out;
- Evas_Object_List *wheel;
- Evas_Object_List *key_down;
- Evas_Object_List *key_up;
- Evas_Object_List *free;
- Evas_Object_List *obj_focus_in;
- Evas_Object_List *obj_focus_out;
- Evas_Object_List *obj_show;
- Evas_Object_List *obj_hide;
- Evas_Object_List *obj_move;
- Evas_Object_List *obj_resize;
- Evas_Object_List *obj_restack;
+ Eina_Inlist *down;
+ Eina_Inlist *up;
+ Eina_Inlist *move;
+ Eina_Inlist *in;
+ Eina_Inlist *out;
+ Eina_Inlist *wheel;
+ Eina_Inlist *key_down;
+ Eina_Inlist *key_up;
+ Eina_Inlist *free;
+ Eina_Inlist *obj_focus_in;
+ Eina_Inlist *obj_focus_out;
+ Eina_Inlist *obj_show;
+ Eina_Inlist *obj_hide;
+ Eina_Inlist *obj_move;
+ Eina_Inlist *obj_resize;
+ Eina_Inlist *obj_restack;
*/
};
struct _Evas
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
DATA32 magic;
struct _Evas_Layer
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
short layer;
Evas_Object *objects;
struct _Evas_Object
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
DATA32 magic;
struct _Evas_Func_Node
{
- Evas_Object_List _list_data;
+ EINA_INLIST;
void (*func) (void *data, Evas *e, Evas_Object *obj, void *event_info);
void *data;
Evas_Callback_Type type;
void evas_object_smart_member_lower(Evas_Object *member);
void evas_object_smart_member_stack_above(Evas_Object *member, Evas_Object *other);
void evas_object_smart_member_stack_below(Evas_Object *member, Evas_Object *other);
-const Evas_Object_List *evas_object_smart_members_get_direct(const Evas_Object *obj);
+const Eina_Inlist *evas_object_smart_members_get_direct(const Evas_Object *obj);
void evas_call_smarts_calculate(Evas *e);
void *evas_mem_calloc(int size);
void evas_object_event_callback_all_del(Evas_Object *obj);
Tilebuf *tb;
Outbuf *ob;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
int end : 1;
};
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *)re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect) return NULL;
rect = (Tilebuf_Rect *)re->cur_rect;
Tilebuf *tb;
Outbuf *ob;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
int end : 1;
};
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *)re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect) return NULL;
rect = (Tilebuf_Rect *)re->cur_rect;
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *) re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect)
return NULL;
Tilebuf *tb;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
DFBRegion *update_regions;
unsigned int update_regions_count;
};
int _dfb_surface_set_color_from_context(IDirectFBSurface *surface, RGBA_Draw_Context *dc);
-void _dfb_polygon_draw(IDirectFBSurface *surface, RGBA_Draw_Context *dc, Evas_Object_List *points);
+void _dfb_polygon_draw(IDirectFBSurface *surface, RGBA_Draw_Context *dc, Eina_Inlist *points);
#endif
void
-_dfb_polygon_draw(IDirectFBSurface *surface, RGBA_Draw_Context *dc, Evas_Object_List *points)
+_dfb_polygon_draw(IDirectFBSurface *surface, RGBA_Draw_Context *dc, Eina_Inlist *points)
{
RGBA_Polygon_Point *pt;
RGBA_Vertex *point;
RGBA_Edge *edges;
- Evas_Object_List *l;
int num_active_edges;
int n;
int i, j, k;
if (!_dfb_surface_set_color_from_context(surface, dc))
return;
- n = 0; for (l = (Evas_Object_List *)points; l; l = l->next) n++;
+ n = 0; EINA_INLIST_ITER_NEXT(points, pt) n++;
if (n < 3) return;
edges = malloc(sizeof(RGBA_Edge) * n);
if (!edges) return;
}
k = 0;
- for (l = (Evas_Object_List *)points; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(points, pt)
{
- pt = (RGBA_Polygon_Point *)l;
point[k].x = pt->x;
point[k].y = pt->y;
point[k].i = k;
qsort(point, n, sizeof(RGBA_Vertex), polygon_point_sorter);
for (k = 0; k < n; k++) sorted_index[k] = point[k].i;
k = 0;
- for (l = (Evas_Object_List *)points; l; l = l->next)
+ EINA_INLIST_ITER_NEXT(points, pt)
{
- pt = (RGBA_Polygon_Point *)l;
point[k].x = pt->x;
point[k].y = pt->y;
point[k].i = k;
Tilebuf *tb;
Outbuf *ob;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
int end : 1;
};
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *)re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect) return NULL;
rect = (Tilebuf_Rect *)re->cur_rect;
Tilebuf *tb;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
int end : 1;
Evas_List *updates;
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *)re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect) return NULL;
rect = (Tilebuf_Rect *)re->cur_rect;
Tilebuf_Rect *r;
int w = 0, h = 0;
- for (r = re->rects; r; r = (Tilebuf_Rect *)(r->_list_data.next))
+ EINA_INLIST_ITER_NEXT(re->rects, r)
{
if (r->w > w) w = r->w;
if (r->h > h) h = r->h;
}
rect = re->cur_rect;
ux = rect->x; uy = rect->y; uw = rect->w; uh = rect->h;
- re->cur_rect = (Tilebuf_Rect *)(re->cur_rect->_list_data.next);
+ re->cur_rect = (Tilebuf_Rect *)((EINA_INLIST_GET(re->cur_rect))->next);
if (!re->cur_rect)
{
evas_common_tilebuf_free_render_rects(re->rects);
Tilebuf_Rect *r;
int w = 0, h = 0;
- for (r = re->rects; r; r = (Tilebuf_Rect *)(r->_list_data.next))
+ EINA_INLIST_ITER_NEXT(re->rects, r)
{
if (r->w > w) w = r->w;
if (r->h > h) h = r->h;
*cy = *y = tb_rect->y;
*cw = *w = tb_rect->w;
*ch = *h = tb_rect->h;
- re->cur_rect = (Tilebuf_Rect *)(re->cur_rect->_list_data.next);
+ re->cur_rect = (Tilebuf_Rect *)((EINA_INLIST_GET(re->cur_rect))->next);
if (!re->cur_rect)
{
evas_common_tilebuf_free_render_rects(re->rects);
Tilebuf_Rect *r;
int w = 0, h = 0;
- for (r = re->rects; r; r = (Tilebuf_Rect *)(r->_list_data.next))
+ EINA_INLIST_ITER_NEXT(re->rects, r)
{
if (r->w > w) w = r->w;
if (r->h > h) h = r->h;
}
rect = re->cur_rect;
ux = rect->x; uy = rect->y; uw = rect->w; uh = rect->h;
- re->cur_rect = (Tilebuf_Rect *)(re->cur_rect->_list_data.next);
+ re->cur_rect = (Tilebuf_Rect *)((EINA_INLIST_GET(re->cur_rect))->next);
if (!re->cur_rect)
{
evas_common_tilebuf_free_render_rects(re->rects);
Tilebuf_Rect *r;
int w = 0, h = 0;
- for (r = re->rects; r; r = (Tilebuf_Rect *)(r->_list_data.next))
+ EINA_INLIST_ITER_NEXT(re->rects, r)
{
if (r->w > w) w = r->w;
if (r->h > h) h = r->h;
}
rect = re->cur_rect;
ux = rect->x; uy = rect->y; uw = rect->w; uh = rect->h;
- re->cur_rect = (Tilebuf_Rect *)(re->cur_rect->_list_data.next);
+ re->cur_rect = (Tilebuf_Rect *)((EINA_INLIST_GET(re->cur_rect))->next);
if (!re->cur_rect)
{
evas_common_tilebuf_free_render_rects(re->rects);
Tilebuf *tb;
Outbuf *ob;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
int end : 1;
};
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *)re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect) return NULL;
rect = (Tilebuf_Rect *)re->cur_rect;
Tilebuf *tb;
Outbuf *ob;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
int end : 1;
};
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *)re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect) return NULL;
rect = (Tilebuf_Rect *)re->cur_rect;
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *) re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect)
return NULL;
Tilebuf *tb;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
Evas_Cache_Engine_Image *cache;
Tilebuf *tb;
Outbuf *ob;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
int end : 1;
};
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *)re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect) return NULL;
rect = (Tilebuf_Rect *)re->cur_rect;
Tilebuf *tb;
Outbuf *ob;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
int end : 1;
};
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *)re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect) return NULL;
rect = (Tilebuf_Rect *)re->cur_rect;
Tilebuf *tb;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
int end : 1;
Evas_List *updates;
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *)re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect) return NULL;
rect = (Tilebuf_Rect *)re->cur_rect;
rects = evas_common_tilebuf_get_render_rects(im->updates);
if (rects)
{
- for (r = rects; r; r = (Tilebuf_Rect *)((Evas_Object_List *)r)->next)
+ EINA_INLIST_ITER_NEXT(rects, r)
{
int rx, ry, rw, rh;
int op;
if ((!rs) || (!dc)) return;
- num = 0;
- for (pt = points; pt; pt = (RGBA_Polygon_Point *)(((Evas_Object_List *)pt)->next)) num++;
+ num = 0; EINA_INLIST_ITER_NEXT(points, pt) num++;
if (num < 3) return;
op = PictOpOver;
if (dc->render_op == _EVAS_RENDER_BLEND)
pts = malloc(num * sizeof(XPointDouble));
if (!pts) return;
i = 0;
- for (pt = points; pt; pt = (RGBA_Polygon_Point *)(((Evas_Object_List *)pt)->next))
+ EINA_INLIST_ITER_NEXT(points, pt)
{
if (i < num)
{
Tilebuf *tb;
Tilebuf_Rect *rects;
- Evas_Object_List *cur_rect;
+ Eina_Inlist *cur_rect;
int end : 1;
Evas_List *updates;
if (!re->rects)
{
re->rects = evas_common_tilebuf_get_render_rects(re->tb);
- re->cur_rect = (Evas_Object_List *)re->rects;
+ re->cur_rect = EINA_INLIST_GET(re->rects);
}
if (!re->cur_rect) return NULL;
rect = (Tilebuf_Rect *)re->cur_rect;
rects = evas_common_tilebuf_get_render_rects(im->updates);
if (rects)
{
- for (r = rects; r; r = (Tilebuf_Rect *)((Evas_Object_List *)r)->next)
+ EINA_INLIST_ITER_NEXT(rects, r)
{
int rx, ry, rw, rh;
/* int op; */
/* if ((!rs) || (!dc)) return; */
-/* num = 0; */
-/* for (pt = points; pt; pt = (RGBA_Polygon_Point *)(((Evas_Object_List *)pt)->next)) num++; */
+/* num = 0; EINA_INLIST_ITER_NEXT(points, pt) num++; */
/* if (num < 3) return; */
/* a = (dc->col.col >> 24) & 0xff; */
/* if (a == 0) return; */
/* pts = malloc(num * sizeof(XPointDouble)); */
/* if (!pts) return; */
/* i = 0; */
-/* for (pt = points; pt; pt = (RGBA_Polygon_Point *)(((Evas_Object_List *)pt)->next)) */
+/* EINA_INLIST_ITER_NEXT(points, pt) */
/* { */
/* if (i < num) */
/* { */