forked from enlightenment/efl
evas vg: code refactoring.
make code clean and neat, no logic changes. use macro to reduce lines. rename ambiguous internal variables. remove unused variables.
This commit is contained in:
parent
dc5db85470
commit
ca3ddc21e4
|
@ -39,9 +39,9 @@ _efl_canvas_vg_gradient_efl_gfx_gradient_stop_get(const Eo *obj EINA_UNUSED,
|
|||
static void
|
||||
_efl_canvas_vg_gradient_efl_gfx_gradient_spread_set(Eo *obj EINA_UNUSED,
|
||||
Efl_Canvas_Vg_Gradient_Data *pd,
|
||||
Efl_Gfx_Gradient_Spread s)
|
||||
Efl_Gfx_Gradient_Spread spread)
|
||||
{
|
||||
pd->s = s;
|
||||
pd->spread = spread;
|
||||
|
||||
_efl_canvas_vg_node_changed(obj);
|
||||
}
|
||||
|
@ -50,7 +50,7 @@ static Efl_Gfx_Gradient_Spread
|
|||
_efl_canvas_vg_gradient_efl_gfx_gradient_spread_get(const Eo *obj EINA_UNUSED,
|
||||
Efl_Canvas_Vg_Gradient_Data *pd)
|
||||
{
|
||||
return pd->s;
|
||||
return pd->spread;
|
||||
}
|
||||
|
||||
static Eina_Bool
|
||||
|
@ -113,7 +113,7 @@ _efl_canvas_vg_gradient_efl_duplicate_duplicate(const Eo *obj, Efl_Canvas_Vg_Gra
|
|||
|
||||
cn = efl_duplicate(efl_super(obj, MY_CLASS));
|
||||
efl_gfx_gradient_stop_set(cn, pd->colors, pd->colors_count);
|
||||
efl_gfx_gradient_spread_set(cn, pd->s);
|
||||
efl_gfx_gradient_spread_set(cn, pd->spread);
|
||||
return cn;
|
||||
}
|
||||
|
||||
|
|
|
@ -84,7 +84,7 @@ _efl_canvas_vg_gradient_linear_render_pre(Eo *obj,
|
|||
ector_renderer_color_set(nd->renderer, nd->r, nd->g, nd->b, nd->a);
|
||||
ector_renderer_visibility_set(nd->renderer, nd->visibility);
|
||||
efl_gfx_gradient_stop_set(nd->renderer, gd->colors, gd->colors_count);
|
||||
efl_gfx_gradient_spread_set(nd->renderer, gd->s);
|
||||
efl_gfx_gradient_spread_set(nd->renderer, gd->spread);
|
||||
efl_gfx_gradient_linear_start_set(nd->renderer, pd->start.x, pd->start.y);
|
||||
efl_gfx_gradient_linear_end_set(nd->renderer, pd->end.x, pd->end.y);
|
||||
|
||||
|
|
|
@ -100,7 +100,7 @@ _efl_canvas_vg_gradient_radial_render_pre(Eo *obj,
|
|||
ector_renderer_color_set(nd->renderer, nd->r, nd->g, nd->b, nd->a);
|
||||
ector_renderer_visibility_set(nd->renderer, nd->visibility);
|
||||
efl_gfx_gradient_stop_set(nd->renderer, gd->colors, gd->colors_count);
|
||||
efl_gfx_gradient_spread_set(nd->renderer, gd->s);
|
||||
efl_gfx_gradient_spread_set(nd->renderer, gd->spread);
|
||||
efl_gfx_gradient_radial_center_set(nd->renderer, pd->center.x, pd->center.y);
|
||||
efl_gfx_gradient_radial_focal_set(nd->renderer, pd->focal.x, pd->focal.y);
|
||||
efl_gfx_gradient_radial_radius_set(nd->renderer, pd->radius);
|
||||
|
|
|
@ -139,12 +139,14 @@ _efl_canvas_vg_object_root_node_get(const Eo *obj EINA_UNUSED, Efl_Canvas_Vg_Obj
|
|||
}
|
||||
|
||||
EOLIAN static void
|
||||
_efl_canvas_vg_object_root_node_set(Eo *obj, Efl_Canvas_Vg_Object_Data *pd, Efl_VG *root_node)
|
||||
_efl_canvas_vg_object_root_node_set(Eo *eo_obj, Efl_Canvas_Vg_Object_Data *pd, Efl_VG *root_node)
|
||||
{
|
||||
// if the same root is already set
|
||||
if (pd->user_entry && pd->user_entry->root == root_node)
|
||||
return;
|
||||
|
||||
Evas_Object_Protected_Data *obj = efl_data_scope_get(eo_obj, EFL_CANVAS_OBJECT_CLASS);
|
||||
|
||||
// check if a file has been already set
|
||||
if (pd->vg_entry)
|
||||
{
|
||||
|
@ -173,21 +175,19 @@ _efl_canvas_vg_object_root_node_set(Eo *obj, Efl_Canvas_Vg_Object_Data *pd, Efl_
|
|||
// set the parent so that vg canvas can render it.
|
||||
efl_parent_set(pd->user_entry->root, pd->root);
|
||||
|
||||
efl_canvas_vg_node_root_set(root_node, obj);
|
||||
efl_canvas_vg_node_root_set(root_node, eo_obj);
|
||||
}
|
||||
else if (pd->user_entry)
|
||||
{
|
||||
// drop any surface cache attached to it.
|
||||
Evas_Object_Protected_Data *eobj = efl_data_scope_get(obj, EFL_CANVAS_OBJECT_CLASS);
|
||||
eobj->layer->evas->engine.func->ector_surface_cache_drop(_evas_engine_context(eobj->layer->evas),
|
||||
pd->user_entry);
|
||||
ENFN->ector_surface_cache_drop(_evas_engine_context(obj->layer->evas), pd->user_entry->root);
|
||||
free(pd->user_entry);
|
||||
pd->user_entry = NULL;
|
||||
}
|
||||
|
||||
// force a redraw
|
||||
pd->changed = EINA_TRUE;
|
||||
evas_object_change(obj, efl_data_scope_get(obj, EFL_CANVAS_OBJECT_CLASS));
|
||||
evas_object_change(eo_obj, obj);
|
||||
}
|
||||
|
||||
EOLIAN static void
|
||||
|
@ -415,11 +415,8 @@ _render_to_buffer(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *pd
|
|||
//create a buffer
|
||||
if (!buffer)
|
||||
{
|
||||
buffer = obj->layer->evas->engine.func->ector_surface_create(engine,
|
||||
w, h,
|
||||
&error);
|
||||
if (error)
|
||||
return NULL; // surface creation error
|
||||
buffer = ENFN->ector_surface_create(engine, w, h, &error);
|
||||
if (error) return NULL;
|
||||
buffer_created = EINA_TRUE;
|
||||
}
|
||||
|
||||
|
@ -449,7 +446,7 @@ _render_to_buffer(Evas_Object_Protected_Data *obj, Efl_Canvas_Vg_Object_Data *pd
|
|||
evas_common_draw_context_free(context);
|
||||
|
||||
if (buffer_created)
|
||||
obj->layer->evas->engine.func->ector_surface_cache_set(engine, key, buffer);
|
||||
ENFN->ector_surface_cache_set(engine, key, buffer);
|
||||
|
||||
return buffer;
|
||||
}
|
||||
|
@ -464,7 +461,7 @@ _render_buffer_to_screen(Evas_Object_Protected_Data *obj,
|
|||
Eina_Bool async_unref;
|
||||
|
||||
//Draw the buffer as image to canvas
|
||||
async_unref = obj->layer->evas->engine.func->image_draw(engine, output, context, surface,
|
||||
async_unref = ENFN->image_draw(engine, output, context, surface,
|
||||
buffer,
|
||||
0, 0, w, h,
|
||||
x, y, w, h,
|
||||
|
@ -499,7 +496,7 @@ _cache_vg_entry_render(Evas_Object_Protected_Data *obj,
|
|||
root = evas_cache_vg_tree_get(vg_entry);
|
||||
if (!root) return;
|
||||
|
||||
void *buffer = obj->layer->evas->engine.func->ector_surface_cache_get(engine, root);
|
||||
void *buffer = ENFN->ector_surface_cache_get(engine, root);
|
||||
|
||||
if (!buffer)
|
||||
{
|
||||
|
@ -515,9 +512,8 @@ _cache_vg_entry_render(Evas_Object_Protected_Data *obj,
|
|||
efl_unref(dupe_root);
|
||||
}
|
||||
else
|
||||
{
|
||||
obj->layer->evas->engine.func->ector_surface_cache_drop(engine, root);
|
||||
}
|
||||
//cache reference was increased when we get the cache.
|
||||
ENFN->ector_surface_cache_drop(engine, root);
|
||||
|
||||
_render_buffer_to_screen(obj,
|
||||
engine, output, context, surface,
|
||||
|
@ -538,13 +534,13 @@ _user_vg_entry_render(Evas_Object_Protected_Data *obj,
|
|||
if ((user_entry->w != w ) ||
|
||||
(user_entry->h != h))
|
||||
{
|
||||
obj->layer->evas->engine.func->ector_surface_cache_drop(engine, user_entry);
|
||||
ENFN->ector_surface_cache_drop(engine, user_entry);
|
||||
user_entry->w = w;
|
||||
user_entry->h = h;
|
||||
pd->user_entry = user_entry;
|
||||
}
|
||||
//if the buffer is not created yet
|
||||
void *buffer = obj->layer->evas->engine.func->ector_surface_cache_get(engine, user_entry);
|
||||
void *buffer = ENFN->ector_surface_cache_get(engine, user_entry);
|
||||
if (!buffer)
|
||||
{
|
||||
// render to the buffer
|
||||
|
@ -567,7 +563,7 @@ _user_vg_entry_render(Evas_Object_Protected_Data *obj,
|
|||
user_entry,
|
||||
buffer,
|
||||
do_async);
|
||||
obj->layer->evas->engine.func->ector_surface_cache_drop(engine, user_entry);
|
||||
ENFN->ector_surface_cache_drop(engine, user_entry);
|
||||
}
|
||||
|
||||
_render_buffer_to_screen(obj,
|
||||
|
@ -587,18 +583,15 @@ _efl_canvas_vg_object_render(Evas_Object *eo_obj EINA_UNUSED,
|
|||
Efl_Canvas_Vg_Object_Data *pd = type_private_data;
|
||||
|
||||
/* render object to surface with context, and offxet by x,y */
|
||||
obj->layer->evas->engine.func->context_color_set(engine, context,
|
||||
255, 255, 255, 255);
|
||||
obj->layer->evas->engine.func->context_multiplier_set(engine,
|
||||
context,
|
||||
obj->cur->cache.clip.r,
|
||||
obj->cur->cache.clip.g,
|
||||
obj->cur->cache.clip.b,
|
||||
obj->cur->cache.clip.a);
|
||||
obj->layer->evas->engine.func->context_anti_alias_set(engine, context,
|
||||
obj->cur->anti_alias);
|
||||
obj->layer->evas->engine.func->context_render_op_set(engine, context,
|
||||
obj->cur->render_op);
|
||||
ENFN->context_color_set(engine, context, 255, 255, 255, 255);
|
||||
ENFN->context_multiplier_set(engine, context,
|
||||
obj->cur->cache.clip.r,
|
||||
obj->cur->cache.clip.g,
|
||||
obj->cur->cache.clip.b,
|
||||
obj->cur->cache.clip.a);
|
||||
ENFN->context_anti_alias_set(engine, context, obj->cur->anti_alias);
|
||||
ENFN->context_render_op_set(engine, context, obj->cur->render_op);
|
||||
|
||||
if (pd->vg_entry)
|
||||
{
|
||||
_cache_vg_entry_render(obj, pd,
|
||||
|
|
|
@ -39,7 +39,6 @@ typedef struct _User_Vg_Entry
|
|||
|
||||
struct _Efl_Canvas_Vg_Object_Data
|
||||
{
|
||||
void *engine_data;
|
||||
Efl_VG *root;
|
||||
Evas_Cache_Vg_Entry *vg_entry;
|
||||
User_Vg_Entry *user_entry; // holds the user set vg tree
|
||||
|
@ -87,7 +86,7 @@ struct _Efl_Canvas_Vg_Gradient_Data
|
|||
Efl_Gfx_Gradient_Stop *colors;
|
||||
unsigned int colors_count;
|
||||
|
||||
Efl_Gfx_Gradient_Spread s;
|
||||
Efl_Gfx_Gradient_Spread spread;
|
||||
};
|
||||
|
||||
struct _Efl_Canvas_Vg_Interpolation
|
||||
|
|
Loading…
Reference in New Issue