Evas: Don't pass whole RGBA_Image to low-level render functions

Idea originated from Cedric the b0rker.

This is a big fat search-and-replace commit.
This commit also introduces space changes... Sorry for the mix.

NOTE: This commit may have one side effect as there was some very
      dubious code chaning the dst image's alpha flag in the
      Gfx get functions. Logically this didn't make sense (at
      draw time the dst alpha should already be well defined),
      so it should be safe.
This commit is contained in:
Jean-Philippe Andre 2014-11-13 11:27:50 +09:00
parent 35beedd3d7
commit 05aee3e370
20 changed files with 483 additions and 570 deletions

View File

@ -24,43 +24,43 @@ evas_gfx_compositor_get(unsigned char op)
RGBA_Gfx_Compositor *comp;
switch (op)
{
case _EVAS_RENDER_BLEND:
comp = evas_common_gfx_compositor_blend_get();
break;
case _EVAS_RENDER_BLEND_REL:
comp = evas_common_gfx_compositor_blend_rel_get();
break;
case _EVAS_RENDER_COPY:
comp = evas_common_gfx_compositor_copy_get();
break;
case _EVAS_RENDER_COPY_REL:
comp = evas_common_gfx_compositor_copy_rel_get();
break;
/*
case _EVAS_RENDER_ADD:
comp = evas_common_gfx_compositor_add_get();
break;
case _EVAS_RENDER_ADD_REL:
comp = evas_common_gfx_compositor_add_rel_get();
break;
case _EVAS_RENDER_SUB:
comp = evas_common_gfx_compositor_sub_get();
break;
case _EVAS_RENDER_SUB_REL:
comp = evas_common_gfx_compositor_sub_rel_get();
break;
*/
case _EVAS_RENDER_MASK:
comp = evas_common_gfx_compositor_mask_get();
break;
case _EVAS_RENDER_MUL:
comp = evas_common_gfx_compositor_mul_get();
break;
default:
comp = evas_common_gfx_compositor_blend_get();
break;
}
{
case _EVAS_RENDER_BLEND:
comp = evas_common_gfx_compositor_blend_get();
break;
case _EVAS_RENDER_BLEND_REL:
comp = evas_common_gfx_compositor_blend_rel_get();
break;
case _EVAS_RENDER_COPY:
comp = evas_common_gfx_compositor_copy_get();
break;
case _EVAS_RENDER_COPY_REL:
comp = evas_common_gfx_compositor_copy_rel_get();
break;
/*
case _EVAS_RENDER_ADD:
comp = evas_common_gfx_compositor_add_get();
break;
case _EVAS_RENDER_ADD_REL:
comp = evas_common_gfx_compositor_add_rel_get();
break;
case _EVAS_RENDER_SUB:
comp = evas_common_gfx_compositor_sub_get();
break;
case _EVAS_RENDER_SUB_REL:
comp = evas_common_gfx_compositor_sub_rel_get();
break;
*/
case _EVAS_RENDER_MASK:
comp = evas_common_gfx_compositor_mask_get();
break;
case _EVAS_RENDER_MUL:
comp = evas_common_gfx_compositor_mul_get();
break;
default:
comp = evas_common_gfx_compositor_blend_get();
break;
}
return comp;
}
@ -88,7 +88,7 @@ evas_common_blend_init(void)
comp = evas_common_gfx_compositor_blend_rel_get();
if (comp) comp->init();
/*
/*
comp = evas_common_gfx_compositor_add_get();
if (comp) comp->init();
comp = evas_common_gfx_compositor_add_rel_get();
@ -120,7 +120,7 @@ evas_common_blend_shutdown(void)
comp = evas_common_gfx_compositor_blend_rel_get();
if (comp) comp->shutdown();
/*
/*
comp = evas_common_gfx_compositor_add_get();
if (comp) comp->shutdown();
comp = evas_common_gfx_compositor_add_rel_get();
@ -129,7 +129,8 @@ evas_common_blend_shutdown(void)
if (comp) comp->shutdown();
comp = evas_common_gfx_compositor_sub_rel_get();
if (comp) comp->shutdown();
*/
*/
comp = evas_common_gfx_compositor_mask_get();
if (comp) comp->shutdown();
@ -139,12 +140,12 @@ evas_common_blend_shutdown(void)
RGBA_Gfx_Func
evas_common_gfx_func_composite_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels, int op)
evas_common_gfx_func_composite_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels, int op)
{
RGBA_Gfx_Compositor *comp;
RGBA_Gfx_Func func = NULL;
if (src && (!src->cache_entry.flags.alpha))
if (!src_alpha)
{
if (op == _EVAS_RENDER_BLEND) op = _EVAS_RENDER_COPY;
else if (op == _EVAS_RENDER_BLEND_REL) op = _EVAS_RENDER_COPY_REL;
@ -152,14 +153,14 @@ evas_common_gfx_func_composite_pixel_span_get(RGBA_Image *src, RGBA_Image *dst,
comp = evas_gfx_compositor_get(op);
if (comp)
func = comp->composite_pixel_span_get(src, dst, pixels);
func = comp->composite_pixel_span_get(src_alpha, src_sparse_alpha, dst_alpha, pixels);
if (func)
return func;
return func;
return _composite_span_nothing;
}
RGBA_Gfx_Func
evas_common_gfx_func_composite_color_span_get(DATA32 col, RGBA_Image *dst, int pixels, int op)
evas_common_gfx_func_composite_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels, int op)
{
RGBA_Gfx_Compositor *comp;
RGBA_Gfx_Func func = NULL;
@ -171,80 +172,80 @@ evas_common_gfx_func_composite_color_span_get(DATA32 col, RGBA_Image *dst, int p
}
comp = evas_gfx_compositor_get(op);
if (comp)
func = comp->composite_color_span_get(col, dst, pixels);
func = comp->composite_color_span_get(col, dst_alpha, pixels);
if (func)
return func;
return func;
return _composite_span_nothing;
}
RGBA_Gfx_Func
evas_common_gfx_func_composite_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels, int op)
evas_common_gfx_func_composite_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels, int op)
{
RGBA_Gfx_Compositor *comp;
RGBA_Gfx_Func func = NULL;
if ((src && (!src->cache_entry.flags.alpha)) && ((col & 0xff000000) == 0xff000000))
if ((!src_alpha) && ((col & 0xff000000) == 0xff000000))
{
if (op == _EVAS_RENDER_BLEND) op = _EVAS_RENDER_COPY;
else if (op == _EVAS_RENDER_BLEND_REL) op = _EVAS_RENDER_COPY_REL;
if (op == _EVAS_RENDER_BLEND) op = _EVAS_RENDER_COPY;
else if (op == _EVAS_RENDER_BLEND_REL) op = _EVAS_RENDER_COPY_REL;
}
comp = evas_gfx_compositor_get(op);
if (comp)
func = comp->composite_pixel_color_span_get(src, col, dst, pixels);
func = comp->composite_pixel_color_span_get(src_alpha, src_sparse_alpha, col, dst_alpha, pixels);
if (func)
return func;
return func;
return _composite_span_nothing;
}
RGBA_Gfx_Func
evas_common_gfx_func_composite_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels, int op)
evas_common_gfx_func_composite_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels, int op)
{
RGBA_Gfx_Compositor *comp;
RGBA_Gfx_Func func = NULL;
comp = evas_gfx_compositor_get(op);
if (comp)
func = comp->composite_mask_color_span_get(col, dst, pixels);
func = comp->composite_mask_color_span_get(col, dst_alpha, pixels);
if (func)
return func;
return func;
return _composite_span_nothing;
}
RGBA_Gfx_Func
evas_common_gfx_func_composite_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels, int op)
evas_common_gfx_func_composite_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels, int op)
{
RGBA_Gfx_Compositor *comp;
RGBA_Gfx_Func func = NULL;
comp = evas_gfx_compositor_get(op);
if (comp)
func = comp->composite_pixel_mask_span_get(src, dst, pixels);
func = comp->composite_pixel_mask_span_get(src_alpha, src_sparse_alpha, dst_alpha, pixels);
if (func)
return func;
return func;
return _composite_span_nothing;
}
RGBA_Gfx_Pt_Func
evas_common_gfx_func_composite_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst, int op)
evas_common_gfx_func_composite_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha, int op)
{
RGBA_Gfx_Compositor *comp;
RGBA_Gfx_Pt_Func func = NULL;
if (!src_flags.alpha)
if (!src_alpha)
{
if (op == _EVAS_RENDER_BLEND) op = _EVAS_RENDER_COPY;
else if (op == _EVAS_RENDER_BLEND_REL) op = _EVAS_RENDER_COPY_REL;
if (op == _EVAS_RENDER_BLEND) op = _EVAS_RENDER_COPY;
else if (op == _EVAS_RENDER_BLEND_REL) op = _EVAS_RENDER_COPY_REL;
}
comp = evas_gfx_compositor_get(op);
if (comp)
func = comp->composite_pixel_pt_get(src_flags, dst);
func = comp->composite_pixel_pt_get(src_alpha, dst_alpha);
if (func)
return func;
return func;
return _composite_pt_nothing;
}
RGBA_Gfx_Pt_Func
evas_common_gfx_func_composite_color_pt_get(DATA32 col, RGBA_Image *dst, int op)
evas_common_gfx_func_composite_color_pt_get(DATA32 col, Eina_Bool dst_alpha, int op)
{
RGBA_Gfx_Compositor *comp;
RGBA_Gfx_Pt_Func func = NULL;
@ -256,55 +257,55 @@ evas_common_gfx_func_composite_color_pt_get(DATA32 col, RGBA_Image *dst, int op)
}
comp = evas_gfx_compositor_get(op);
if (comp)
func = comp->composite_color_pt_get(col, dst);
func = comp->composite_color_pt_get(col, dst_alpha);
if (func)
return func;
return func;
return _composite_pt_nothing;
}
RGBA_Gfx_Pt_Func
evas_common_gfx_func_composite_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst, int op)
evas_common_gfx_func_composite_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha, int op)
{
RGBA_Gfx_Compositor *comp;
RGBA_Gfx_Pt_Func func = NULL;
if ((!src_flags.alpha) && ((col & 0xff000000) == 0xff000000))
if ((!src_alpha) && ((col & 0xff000000) == 0xff000000))
{
if (op == _EVAS_RENDER_BLEND) op = _EVAS_RENDER_COPY;
else if (op == _EVAS_RENDER_BLEND_REL) op = _EVAS_RENDER_COPY_REL;
}
comp = evas_gfx_compositor_get(op);
if (comp)
func = comp->composite_pixel_color_pt_get(src_flags, col, dst);
func = comp->composite_pixel_color_pt_get(src_alpha, col, dst_alpha);
if (func)
return func;
return func;
return _composite_pt_nothing;
}
RGBA_Gfx_Pt_Func
evas_common_gfx_func_composite_mask_color_pt_get(DATA32 col, RGBA_Image *dst, int op)
evas_common_gfx_func_composite_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha, int op)
{
RGBA_Gfx_Compositor *comp;
RGBA_Gfx_Pt_Func func = NULL;
comp = evas_gfx_compositor_get(op);
if (comp)
func = comp->composite_mask_color_pt_get(col, dst);
func = comp->composite_mask_color_pt_get(col, dst_alpha);
if (func)
return func;
return func;
return _composite_pt_nothing;
}
RGBA_Gfx_Pt_Func
evas_common_gfx_func_composite_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst, int op)
evas_common_gfx_func_composite_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha, int op)
{
RGBA_Gfx_Compositor *comp;
RGBA_Gfx_Pt_Func func = NULL;
comp = evas_gfx_compositor_get(op);
if (comp)
func = comp->composite_pixel_mask_pt_get(src_flags, dst);
func = comp->composite_pixel_mask_pt_get(src_alpha, dst_alpha);
if (func)
return func;
return func;
return _composite_pt_nothing;
}

View File

@ -15,17 +15,17 @@ RGBA_Gfx_Compositor *evas_common_gfx_compositor_sub_rel_get(void);
RGBA_Gfx_Compositor *evas_common_gfx_compositor_mask_get (void);
RGBA_Gfx_Compositor *evas_common_gfx_compositor_mul_get (void);
RGBA_Gfx_Func evas_common_gfx_func_composite_pixel_span_get (RGBA_Image *src, RGBA_Image *dst, int pixels, int op);
RGBA_Gfx_Func evas_common_gfx_func_composite_color_span_get (DATA32 col, RGBA_Image *dst, int pixels, int op);
RGBA_Gfx_Func evas_common_gfx_func_composite_pixel_color_span_get (RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels, int op);
RGBA_Gfx_Func evas_common_gfx_func_composite_mask_color_span_get (DATA32 col, RGBA_Image *dst, int pixels, int op);
RGBA_Gfx_Func evas_common_gfx_func_composite_pixel_mask_span_get (RGBA_Image *src, RGBA_Image *dst, int pixels, int op);
RGBA_Gfx_Func evas_common_gfx_func_composite_pixel_span_get (Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels, int op);
RGBA_Gfx_Func evas_common_gfx_func_composite_color_span_get (DATA32 col, Eina_Bool dst_alpha, int pixels, int op);
RGBA_Gfx_Func evas_common_gfx_func_composite_pixel_color_span_get (Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels, int op);
RGBA_Gfx_Func evas_common_gfx_func_composite_mask_color_span_get (DATA32 col, Eina_Bool dst_alpha, int pixels, int op);
RGBA_Gfx_Func evas_common_gfx_func_composite_pixel_mask_span_get (Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels, int op);
RGBA_Gfx_Pt_Func evas_common_gfx_func_composite_pixel_pt_get (Image_Entry_Flags src_flags, RGBA_Image *dst, int op);
RGBA_Gfx_Pt_Func evas_common_gfx_func_composite_color_pt_get (DATA32 col, RGBA_Image *dst, int op);
RGBA_Gfx_Pt_Func evas_common_gfx_func_composite_pixel_color_pt_get (Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst, int op);
RGBA_Gfx_Pt_Func evas_common_gfx_func_composite_mask_color_pt_get (DATA32 col, RGBA_Image *dst, int op);
RGBA_Gfx_Pt_Func evas_common_gfx_func_composite_pixel_mask_pt_get (Image_Entry_Flags src_flags, RGBA_Image *dst, int op);
RGBA_Gfx_Pt_Func evas_common_gfx_func_composite_pixel_pt_get (Eina_Bool src_alpha, Eina_Bool dst_alpha, int op);
RGBA_Gfx_Pt_Func evas_common_gfx_func_composite_color_pt_get (DATA32 col, Eina_Bool dst_alpha, int op);
RGBA_Gfx_Pt_Func evas_common_gfx_func_composite_pixel_color_pt_get (Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha, int op);
RGBA_Gfx_Pt_Func evas_common_gfx_func_composite_mask_color_pt_get (DATA32 col, Eina_Bool dst_alpha, int op);
RGBA_Gfx_Pt_Func evas_common_gfx_func_composite_pixel_mask_pt_get (Eina_Bool src_alpha, Eina_Bool dst_alpha, int op);
/* Alpha/mask functions */
Alpha_Gfx_Func evas_common_alpha_func_get (int op);

View File

@ -255,7 +255,7 @@ evas_common_font_draw_cb(RGBA_Image *dst, RGBA_Draw_Context *dc, int x, int y, E
im_h = dst->cache_entry.h;
// evas_common_font_size_use(fn);
func = evas_common_gfx_func_composite_mask_color_span_get(dc->col.col, dst, 1, dc->render_op);
func = evas_common_gfx_func_composite_mask_color_span_get(dc->col.col, dst->cache_entry.flags.alpha, 1, dc->render_op);
if (!dc->cutout.rects)
{
@ -366,7 +366,7 @@ evas_common_font_draw_prepare_cutout(Cutout_Rects **reuse, RGBA_Image *dst, RGBA
im_w = dst->cache_entry.w;
im_h = dst->cache_entry.h;
*func = evas_common_gfx_func_composite_mask_color_span_get(dc->col.col, dst, 1, dc->render_op);
*func = evas_common_gfx_func_composite_mask_color_span_get(dc->col.col, dst->cache_entry.flags.alpha, 1, dc->render_op);
evas_common_draw_context_clip_clip(dc, 0, 0, im_w, im_h);
if (dc->clip.w <= 0) return EINA_FALSE;

View File

@ -49,7 +49,7 @@ _evas_draw_point(RGBA_Image *dst, RGBA_Draw_Context *dc, int x, int y)
# endif
#endif
{
pfunc = evas_common_gfx_func_composite_color_pt_get(dc->col.col, dst, dc->render_op);
pfunc = evas_common_gfx_func_composite_color_pt_get(dc->col.col, dst->cache_entry.flags.alpha, dc->render_op);
if (pfunc)
pfunc(0, 255, dc->col.col, dst->image.data + (dst->cache_entry.w * y) + x);
}
@ -70,7 +70,7 @@ evas_common_line_point_draw(RGBA_Image *dst, int clip_x, int clip_y, int clip_w,
if ((!no_cuse) && (!IN_RECT(x, y, clip_x, clip_y, clip_w, clip_h)))
return;
pfunc = evas_common_gfx_func_composite_color_pt_get(color, dst, render_op);
pfunc = evas_common_gfx_func_composite_color_pt_get(color, dst->cache_entry.flags.alpha, render_op);
if (pfunc)
pfunc(0, 255, color, dst->image.data + (dst->cache_entry.w * y) + x);
}
@ -147,7 +147,7 @@ _evas_draw_simple_line(RGBA_Image *dst, RGBA_Draw_Context *dc, int x0, int y0, i
# endif
#endif
{
sfunc = evas_common_gfx_func_composite_color_span_get(color, dst, len, dc->render_op);
sfunc = evas_common_gfx_func_composite_color_span_get(color, dst->cache_entry.flags.alpha, len, dc->render_op);
if (sfunc)
sfunc(NULL, NULL, color, p, len);
}
@ -155,7 +155,7 @@ _evas_draw_simple_line(RGBA_Image *dst, RGBA_Draw_Context *dc, int x0, int y0, i
return;
}
pfunc = evas_common_gfx_func_composite_color_pt_get(color, dst, dc->render_op);
pfunc = evas_common_gfx_func_composite_color_pt_get(color, dst->cache_entry.flags.alpha, dc->render_op);
if (!pfunc) return;
if (dx == 0)
@ -488,13 +488,13 @@ _draw_render_thread_simple_line(RGBA_Image *dst, int clip_x, int clip_y, int cli
len = x1 - x0 + 1;
p = dst->image.data + (dstw * y0) + x0;
sfunc = evas_common_gfx_func_composite_color_span_get(color, dst, len, render_op);
sfunc = evas_common_gfx_func_composite_color_span_get(color, dst->cache_entry.flags.alpha, len, render_op);
if (sfunc) sfunc(NULL, NULL, color, p, len);
}
return;
}
pfunc = evas_common_gfx_func_composite_color_pt_get(color, dst, render_op);
pfunc = evas_common_gfx_func_composite_color_pt_get(color, dst->cache_entry.flags.alpha, render_op);
if (!pfunc) return;
if (dx == 0)
@ -767,7 +767,7 @@ evas_common_line_draw_line(RGBA_Image *dst, int clip_x, int clip_y, int clip_w,
return;
}
pfunc = evas_common_gfx_func_composite_color_pt_get(color, dst, render_op);
pfunc = evas_common_gfx_func_composite_color_pt_get(color, dst->cache_entry.flags.alpha, render_op);
if (!pfunc) return;
clx = clip_x;
@ -896,7 +896,7 @@ _evas_draw_line(RGBA_Image *dst, RGBA_Draw_Context *dc, int x0, int y0, int x1,
}
color = dc->col.col;
pfunc = evas_common_gfx_func_composite_color_pt_get(color, dst, dc->render_op);
pfunc = evas_common_gfx_func_composite_color_pt_get(color, dst->cache_entry.flags.alpha, dc->render_op);
if (!pfunc) return;
clx = dc->clip.x;
@ -1053,7 +1053,7 @@ evas_common_line_draw_line_aa(RGBA_Image *dst, int clip_x, int clip_y, int clip_
return;
}
pfunc = evas_common_gfx_func_composite_mask_color_pt_get(color, dst, render_op);
pfunc = evas_common_gfx_func_composite_mask_color_pt_get(color, dst->cache_entry.flags.alpha, render_op);
if (!pfunc) return;
clx = clip_x;
@ -1202,7 +1202,7 @@ _evas_draw_line_aa(RGBA_Image *dst, RGBA_Draw_Context *dc, int x0, int y0, int x
}
color = dc->col.col;
pfunc = evas_common_gfx_func_composite_mask_color_pt_get(color, dst, dc->render_op);
pfunc = evas_common_gfx_func_composite_mask_color_pt_get(color, dst->cache_entry.flags.alpha, dc->render_op);
if (!pfunc) return;
clx = dc->clip.x;

View File

@ -93,9 +93,9 @@ FUNC_NAME(RGBA_Image *src, RGBA_Image *dst,
pa = src->cache_entry.flags.alpha;
if (havea) src->cache_entry.flags.alpha = 1;
if (mul_col != 0xffffffff)
func = evas_common_gfx_func_composite_pixel_color_span_get(src, mul_col, dst, cw, render_op);
func = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, cw, render_op);
else
func = evas_common_gfx_func_composite_pixel_span_get(src, dst, cw, render_op);
func = evas_common_gfx_func_composite_pixel_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, cw, render_op);
src->cache_entry.flags.alpha = pa;
}
@ -161,9 +161,9 @@ FUNC_NAME_DO(RGBA_Image *src, RGBA_Image *dst,
pa = src->cache_entry.flags.alpha;
if (ms->havea) src->cache_entry.flags.alpha = 1;
if (dc->mul.use)
func = evas_common_gfx_func_composite_pixel_color_span_get(src, dc->mul.col, dst, cw, dc->render_op);
func = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dc->mul.col, dst->cache_entry.flags.alpha, cw, dc->render_op);
else
func = evas_common_gfx_func_composite_pixel_span_get(src, dst, cw, dc->render_op);
func = evas_common_gfx_func_composite_pixel_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, cw, dc->render_op);
src->cache_entry.flags.alpha = pa;
}

View File

@ -5,17 +5,17 @@ static RGBA_Gfx_Pt_Func op_add_pt_funcs[SP_LAST][SM_LAST][SC_LAST][DP_LAST][CPU
static void op_add_init(void);
static void op_add_shutdown(void);
static RGBA_Gfx_Func op_add_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_add_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_add_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_add_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_add_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_add_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_add_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_add_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_add_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_add_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Pt_Func op_add_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_add_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_add_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_add_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_add_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_add_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_add_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_add_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_add_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_add_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Compositor _composite_add = { "add",
op_add_init, op_add_shutdown,
@ -39,17 +39,17 @@ static RGBA_Gfx_Pt_Func op_add_rel_pt_funcs[SP_LAST][SM_LAST][SC_LAST][DP_LAST]
static void op_add_rel_init(void);
static void op_add_rel_shutdown(void);
static RGBA_Gfx_Func op_add_rel_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_add_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_add_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_add_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_add_rel_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_add_rel_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_add_rel_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_add_rel_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_add_rel_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_add_rel_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Pt_Func op_add_rel_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_add_rel_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_add_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_add_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_add_rel_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_add_rel_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_add_rel_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_add_rel_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_add_rel_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_add_rel_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Compositor _composite_add_rel = { "add_rel",
op_add_rel_init, op_add_rel_shutdown,
@ -141,19 +141,19 @@ add_gfx_span_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Func
op_add_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_add_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_add_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_add_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -163,17 +163,17 @@ op_add_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_add_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_add_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -181,13 +181,13 @@ op_add_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pi
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_add_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_add_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -197,19 +197,19 @@ op_add_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_add_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_add_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_gfx_span_func_cpu(s, m, c, d);
}
@ -234,19 +234,19 @@ add_gfx_pt_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Pt_Func
op_add_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_add_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_add_color_pt_get(DATA32 col, RGBA_Image *dst)
op_add_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -256,17 +256,17 @@ op_add_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_add_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst)
op_add_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -274,13 +274,13 @@ op_add_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *d
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_add_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_add_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -290,19 +290,19 @@ op_add_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_add_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_add_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_gfx_pt_func_cpu(s, m, c, d);
}
@ -365,19 +365,19 @@ add_rel_gfx_span_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Func
op_add_rel_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_add_rel_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_add_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_add_rel_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -387,17 +387,17 @@ op_add_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_add_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_add_rel_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -405,13 +405,13 @@ op_add_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, in
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_add_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_add_rel_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -421,19 +421,19 @@ op_add_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUS
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_add_rel_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_add_rel_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_rel_gfx_span_func_cpu(s, m, c, d);
}
@ -458,19 +458,19 @@ add_rel_gfx_pt_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Pt_Func
op_add_rel_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_add_rel_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_add_rel_color_pt_get(DATA32 col, RGBA_Image *dst)
op_add_rel_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -480,17 +480,17 @@ op_add_rel_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_add_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst)
op_add_rel_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -498,13 +498,13 @@ op_add_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Imag
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_add_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_add_rel_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -514,19 +514,19 @@ op_add_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_add_rel_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_add_rel_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return add_rel_gfx_pt_func_cpu(s, m, c, d);
}

View File

@ -6,17 +6,17 @@ RGBA_Gfx_Pt_Func op_blend_pt_funcs[SP_LAST][SM_LAST][SC_LAST][DP_LAST][CPU_LAST
static void op_blend_init(void);
static void op_blend_shutdown(void);
static RGBA_Gfx_Func op_blend_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_blend_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_blend_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_blend_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_blend_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_blend_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_blend_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_blend_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_blend_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_blend_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Pt_Func op_blend_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_blend_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_blend_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_blend_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_blend_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_blend_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_blend_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_blend_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_blend_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_blend_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Compositor _composite_blend = { "blend",
op_blend_init, op_blend_shutdown,
@ -41,17 +41,17 @@ RGBA_Gfx_Pt_Func op_blend_rel_pt_funcs[SP_LAST][SM_LAST][SC_LAST][DP_LAST][CPU_
static void op_blend_rel_init(void);
static void op_blend_rel_shutdown(void);
static RGBA_Gfx_Func op_blend_rel_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_blend_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_blend_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_blend_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_blend_rel_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_blend_rel_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_blend_rel_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_blend_rel_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_blend_rel_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_blend_rel_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Pt_Func op_blend_rel_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_blend_rel_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_blend_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_blend_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_blend_rel_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_blend_rel_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_blend_rel_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_blend_rel_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_blend_rel_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_blend_rel_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Compositor _composite_blend_rel = { "blend_rel",
op_blend_rel_init, op_blend_rel_shutdown,
@ -190,23 +190,23 @@ blend_gfx_span_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Func
op_blend_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_blend_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
s = SP;
if (src->cache_entry.flags.alpha_sparse)
if (src_sparse_alpha)
s = SP_AS;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_blend_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_blend_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -216,20 +216,20 @@ op_blend_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_blend_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_blend_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
s = SP;
if (src->cache_entry.flags.alpha_sparse)
if (src_sparse_alpha)
s = SP_AS;
}
if ((col >> 24) < 255)
@ -238,13 +238,13 @@ op_blend_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_blend_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_blend_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -254,23 +254,23 @@ op_blend_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_blend_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_blend_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
s = SP;
if (src->cache_entry.flags.alpha_sparse)
if (src_sparse_alpha)
s = SP_AS;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_gfx_span_func_cpu(s, m, c, d);
}
@ -312,19 +312,19 @@ blend_gfx_pt_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Pt_Func
op_blend_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_blend_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_blend_color_pt_get(DATA32 col, RGBA_Image *dst)
op_blend_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -334,17 +334,17 @@ op_blend_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_blend_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst)
op_blend_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -352,13 +352,13 @@ op_blend_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_blend_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_blend_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -368,19 +368,19 @@ op_blend_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_blend_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_blend_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_gfx_pt_func_cpu(s, m, c, d);
}
@ -475,23 +475,23 @@ blend_rel_gfx_span_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Func
op_blend_rel_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_blend_rel_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
s = SP;
if (src->cache_entry.flags.alpha_sparse)
if (src_sparse_alpha)
s = SP_AS;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_blend_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_blend_rel_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -501,17 +501,17 @@ op_blend_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_blend_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_blend_rel_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -519,13 +519,13 @@ op_blend_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst,
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_blend_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_blend_rel_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -535,23 +535,23 @@ op_blend_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UN
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_blend_rel_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_blend_rel_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
s = SP;
if (src->cache_entry.flags.alpha_sparse)
if (src_sparse_alpha)
s = SP_AS;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_rel_gfx_span_func_cpu(s, m, c, d);
}
@ -592,19 +592,19 @@ blend_rel_gfx_pt_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Pt_Func
op_blend_rel_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_blend_rel_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_blend_rel_color_pt_get(DATA32 col, RGBA_Image *dst)
op_blend_rel_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -614,17 +614,17 @@ op_blend_rel_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_blend_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst)
op_blend_rel_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -632,13 +632,13 @@ op_blend_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Im
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_blend_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_blend_rel_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -648,19 +648,19 @@ op_blend_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_blend_rel_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_blend_rel_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return blend_rel_gfx_pt_func_cpu(s, m, c, d);
}

View File

@ -7,17 +7,17 @@ static RGBA_Gfx_Pt_Func op_copy_pt_funcs[SP_LAST][SM_LAST][SC_LAST][DP_LAST][CP
static void op_copy_init(void);
static void op_copy_shutdown(void);
static RGBA_Gfx_Func op_copy_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_copy_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_copy_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_copy_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_copy_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_copy_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_copy_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_copy_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_copy_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_copy_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Pt_Func op_copy_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_copy_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_copy_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_copy_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_copy_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_copy_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_copy_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_copy_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_copy_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_copy_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Compositor _composite_copy = { "copy",
op_copy_init, op_copy_shutdown,
@ -42,19 +42,19 @@ static RGBA_Gfx_Pt_Func op_copy_rel_pt_funcs[SP_LAST][SM_LAST][SC_LAST][DP_LAST
static void op_copy_rel_init(void);
static void op_copy_rel_shutdown(void);
static RGBA_Gfx_Func op_copy_rel_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_copy_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_copy_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_copy_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_copy_rel_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_copy_rel_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_copy_rel_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_copy_rel_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_copy_rel_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_copy_rel_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Pt_Func op_copy_rel_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_copy_rel_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
/* XXX: doesn't exist
static RGBA_Gfx_Pt_Func op_copy_rel_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_copy_rel_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
*/
static RGBA_Gfx_Pt_Func op_copy_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_copy_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_copy_rel_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_copy_rel_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_copy_rel_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_copy_rel_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Compositor _composite_copy_rel = { "copy_rel",
op_copy_rel_init, op_copy_rel_shutdown,
@ -178,73 +178,64 @@ copy_gfx_span_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Func
op_copy_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_copy_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_copy_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_copy_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == ((col >> 24) * 0x01010101))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_copy_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_copy_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == ((col >> 24) * 0x01010101))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_copy_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_copy_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha EINA_UNUSED, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if ((col >> 24) < 255)
c = SC;
if (col == ((col >> 24) * 0x01010101))
@ -255,13 +246,11 @@ op_copy_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
}
static RGBA_Gfx_Func
op_copy_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_copy_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha EINA_UNUSED, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
return copy_gfx_span_func_cpu(s, m, c, d);
}
@ -294,73 +283,64 @@ copy_gfx_pt_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Pt_Func
op_copy_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_copy_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
{
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_copy_color_pt_get(DATA32 col, RGBA_Image *dst)
op_copy_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == ((col >> 24) * 0x01010101))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_copy_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst)
op_copy_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == ((col >> 24) * 0x01010101))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_copy_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_copy_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if ((col >> 24) < 255)
c = SC;
if (col == ((col >> 24) * 0x01010101))
@ -371,13 +351,11 @@ op_copy_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
}
static RGBA_Gfx_Pt_Func
op_copy_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_copy_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if (src_flags.alpha)
if (src_alpha)
s = SP;
return copy_gfx_pt_func_cpu(s, m, c, d);
}
@ -460,74 +438,64 @@ copy_rel_gfx_span_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Func
op_copy_rel_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_copy_rel_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_copy_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_copy_rel_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == ((col >> 24) * 0x01010101))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_copy_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_copy_rel_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == ((col >> 24) * 0x01010101))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_copy_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_copy_rel_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha EINA_UNUSED, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if ((col >> 24) < 255)
c = SC;
if (col == ((col >> 24) * 0x01010101))
@ -538,13 +506,11 @@ op_copy_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNU
}
static RGBA_Gfx_Func
op_copy_rel_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_copy_rel_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha EINA_UNUSED, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
return copy_rel_gfx_span_func_cpu(s, m, c, d);
}
@ -577,24 +543,22 @@ copy_rel_gfx_pt_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Pt_Func
op_copy_rel_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_copy_rel_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_rel_gfx_pt_func_cpu(s, m, c, d);
}
/* XXX: not used
static RGBA_Gfx_Pt_Func
op_copy_rel_color_pt_get(DATA32 col, RGBA_Image *dst)
op_copy_rel_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -608,45 +572,39 @@ op_copy_rel_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_rel_gfx_pt_func_cpu(s, m, c, d);
}
*/
static RGBA_Gfx_Pt_Func
op_copy_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst)
op_copy_rel_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == ((col >> 24) * 0x01010101))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return copy_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_copy_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_copy_rel_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if ((col >> 24) < 255)
c = SC;
if (col == ((col >> 24) * 0x01010101))
@ -657,13 +615,11 @@ op_copy_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
}
static RGBA_Gfx_Pt_Func
op_copy_rel_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_copy_rel_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if (src_flags.alpha)
if (src_alpha)
s = SP;
return copy_rel_gfx_pt_func_cpu(s, m, c, d);
}

View File

@ -6,17 +6,17 @@ static RGBA_Gfx_Pt_Func op_mask_pt_funcs[SP_LAST][SM_LAST][SC_LAST][DP_LAST][CP
static void op_mask_init(void);
static void op_mask_shutdown(void);
static RGBA_Gfx_Func op_mask_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_mask_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_mask_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_mask_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_mask_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_mask_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_mask_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_mask_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Pt_Func op_mask_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_mask_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_mask_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_mask_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_mask_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_mask_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_mask_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_mask_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Compositor _composite_mask = { "mask",
op_mask_init, op_mask_shutdown,
@ -109,73 +109,64 @@ mask_gfx_span_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Func
op_mask_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_mask_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mask_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == (col | 0x00ffffff))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mask_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_mask_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_mask_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == (col | 0x00ffffff))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mask_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_mask_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_mask_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha EINA_UNUSED, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if ((col >> 24) < 255)
c = SC;
if (col == (col | 0x00ffffff))
@ -186,13 +177,11 @@ op_mask_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
}
static RGBA_Gfx_Func
op_mask_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_mask_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha EINA_UNUSED, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
return mask_gfx_span_func_cpu(s, m, c, d);
}
@ -217,73 +206,64 @@ mask_gfx_pt_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Pt_Func
op_mask_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_mask_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
{
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mask_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == (col | 0x00ffffff))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mask_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_mask_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst)
op_mask_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == (col | 0x00ffffff))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mask_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_mask_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_mask_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if ((col >> 24) < 255)
c = SC;
if (col == (col | 0x00ffffff))
@ -294,13 +274,11 @@ op_mask_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
}
static RGBA_Gfx_Pt_Func
op_mask_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_mask_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if (src_flags.alpha)
if (src_alpha)
s = SP;
return mask_gfx_pt_func_cpu(s, m, c, d);
}

View File

@ -6,17 +6,17 @@ static RGBA_Gfx_Pt_Func op_mul_pt_funcs[SP_LAST][SM_LAST][SC_LAST][DP_LAST][CPU
static void op_mul_init(void);
static void op_mul_shutdown(void);
static RGBA_Gfx_Func op_mul_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_mul_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_mul_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_mul_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_mul_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_mul_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_mul_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_mul_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_mul_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_mul_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Pt_Func op_mul_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_mul_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_mul_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_mul_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_mul_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_mul_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_mul_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_mul_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_mul_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_mul_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Compositor _composite_mul = { "mul",
op_mul_init, op_mul_shutdown,
@ -108,73 +108,64 @@ mul_gfx_span_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Func
op_mul_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_mul_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mul_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_mul_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_mul_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == (col | 0x00ffffff))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mul_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_mul_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_mul_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == (col | 0x00ffffff))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mul_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_mul_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_mul_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha EINA_UNUSED, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if ((col >> 24) < 255)
c = SC;
if (col == (col | 0x00ffffff))
@ -185,13 +176,11 @@ op_mul_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
}
static RGBA_Gfx_Func
op_mul_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_mul_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha EINA_UNUSED, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
return mul_gfx_span_func_cpu(s, m, c, d);
}
@ -216,73 +205,64 @@ mul_gfx_pt_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Pt_Func
op_mul_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_mul_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
{
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mul_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_mul_color_pt_get(DATA32 col, RGBA_Image *dst)
op_mul_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == (col | 0x00ffffff))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mul_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_mul_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst)
op_mul_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
s = SP;
}
if ((col >> 24) < 255)
{
if (dst)
dst->cache_entry.flags.alpha = 1;
c = SC;
}
if (col == (col | 0x00ffffff))
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return mul_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_mul_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_mul_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if ((col >> 24) < 255)
c = SC;
if (col == (col | 0x00ffffff))
@ -293,13 +273,11 @@ op_mul_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
}
static RGBA_Gfx_Pt_Func
op_mul_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_mul_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP;
if (dst)
dst->cache_entry.flags.alpha = 1;
if (src_flags.alpha)
if (src_alpha)
s = SP;
return mul_gfx_pt_func_cpu(s, m, c, d);
}

View File

@ -6,17 +6,17 @@ static RGBA_Gfx_Pt_Func op_sub_pt_funcs[SP_LAST][SM_LAST][SC_LAST][DP_LAST][CPU
static void op_sub_init(void);
static void op_sub_shutdown(void);
static RGBA_Gfx_Func op_sub_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_sub_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_sub_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_sub_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_sub_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_sub_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_sub_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_sub_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_sub_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_sub_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Pt_Func op_sub_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_sub_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_sub_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_sub_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_sub_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_sub_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_sub_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_sub_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_sub_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_sub_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Compositor _composite_sub = { "sub",
op_sub_init, op_sub_shutdown,
@ -40,17 +40,17 @@ static RGBA_Gfx_Pt_Func op_sub_rel_pt_funcs[SP_LAST][SM_LAST][SC_LAST][DP_LAST]
static void op_sub_rel_init(void);
static void op_sub_rel_shutdown(void);
static RGBA_Gfx_Func op_sub_rel_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_sub_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_sub_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_sub_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_sub_rel_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels);
static RGBA_Gfx_Func op_sub_rel_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_sub_rel_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_sub_rel_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_sub_rel_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Func op_sub_rel_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
static RGBA_Gfx_Pt_Func op_sub_rel_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_sub_rel_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_sub_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_sub_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_sub_rel_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst);
static RGBA_Gfx_Pt_Func op_sub_rel_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_sub_rel_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_sub_rel_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_sub_rel_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha);
static RGBA_Gfx_Pt_Func op_sub_rel_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha);
static RGBA_Gfx_Compositor _composite_sub_rel = { "sub_rel",
op_sub_rel_init, op_sub_rel_shutdown,
@ -142,19 +142,19 @@ sub_gfx_span_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Func
op_sub_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_sub_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_sub_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_sub_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -164,17 +164,17 @@ op_sub_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_sub_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_sub_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -182,13 +182,13 @@ op_sub_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pi
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_sub_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_sub_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -198,19 +198,19 @@ op_sub_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_sub_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_sub_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_gfx_span_func_cpu(s, m, c, d);
}
@ -235,19 +235,19 @@ sub_gfx_pt_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Pt_Func
op_sub_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_sub_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_sub_color_pt_get(DATA32 col, RGBA_Image *dst)
op_sub_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -257,17 +257,17 @@ op_sub_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_sub_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst)
op_sub_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -275,13 +275,13 @@ op_sub_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *d
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_sub_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_sub_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -291,19 +291,19 @@ op_sub_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_sub_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_sub_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_gfx_pt_func_cpu(s, m, c, d);
}
@ -366,19 +366,19 @@ sub_rel_gfx_span_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Func
op_sub_rel_pixel_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_sub_rel_pixel_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_sub_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_sub_rel_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -388,17 +388,17 @@ op_sub_rel_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_sub_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_sub_rel_pixel_color_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -406,13 +406,13 @@ op_sub_rel_pixel_color_span_get(RGBA_Image *src, DATA32 col, RGBA_Image *dst, in
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_sub_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUSED)
op_sub_rel_mask_color_span_get(DATA32 col, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -422,19 +422,19 @@ op_sub_rel_mask_color_span_get(DATA32 col, RGBA_Image *dst, int pixels EINA_UNUS
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_rel_gfx_span_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Func
op_sub_rel_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, int pixels EINA_UNUSED)
op_sub_rel_pixel_mask_span_get(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha EINA_UNUSED, Eina_Bool dst_alpha, int pixels EINA_UNUSED)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src && src->cache_entry.flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_rel_gfx_span_func_cpu(s, m, c, d);
}
@ -459,19 +459,19 @@ sub_rel_gfx_pt_func_cpu(int s, int m, int c, int d)
}
static RGBA_Gfx_Pt_Func
op_sub_rel_pixel_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_sub_rel_pixel_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_sub_rel_color_pt_get(DATA32 col, RGBA_Image *dst)
op_sub_rel_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_N, c = SC_AN, d = DP_AN;
@ -481,17 +481,17 @@ op_sub_rel_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_sub_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst)
op_sub_rel_pixel_color_pt_get(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_N, c = SC_AN, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if ((col >> 24) < 255)
c = SC;
@ -499,13 +499,13 @@ op_sub_rel_pixel_color_pt_get(Image_Entry_Flags src_flags, DATA32 col, RGBA_Imag
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_sub_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
op_sub_rel_mask_color_pt_get(DATA32 col, Eina_Bool dst_alpha)
{
int s = SP_N, m = SM_AS, c = SC_AN, d = DP_AN;
@ -515,19 +515,19 @@ op_sub_rel_mask_color_pt_get(DATA32 col, RGBA_Image *dst)
c = SC_AA;
if (col == 0xffffffff)
c = SC_N;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_rel_gfx_pt_func_cpu(s, m, c, d);
}
static RGBA_Gfx_Pt_Func
op_sub_rel_pixel_mask_pt_get(Image_Entry_Flags src_flags, RGBA_Image *dst)
op_sub_rel_pixel_mask_pt_get(Eina_Bool src_alpha, Eina_Bool dst_alpha)
{
int s = SP_AN, m = SM_AS, c = SC_N, d = DP_AN;
if (src_flags.alpha)
if (src_alpha)
s = SP;
if (dst && dst->cache_entry.flags.alpha)
if (dst_alpha)
d = DP;
return sub_rel_gfx_pt_func_cpu(s, m, c, d);
}

View File

@ -279,7 +279,7 @@ evas_common_polygon_draw(RGBA_Image *dst, RGBA_Draw_Context *dc, RGBA_Polygon_Po
free(point);
free(sorted_index);
func = evas_common_gfx_func_composite_color_span_get(dc->col.col, dst, 1, dc->render_op);
func = evas_common_gfx_func_composite_color_span_get(dc->col.col, dst->cache_entry.flags.alpha, 1, dc->render_op);
if (spans)
{
RGBA_Span *span;
@ -435,7 +435,7 @@ evas_common_polygon_rgba_draw(RGBA_Image *dst, int ext_x, int ext_y, int ext_w,
free(point);
free(sorted_index);
func = evas_common_gfx_func_composite_color_span_get(col, dst, 1, render_op);
func = evas_common_gfx_func_composite_color_span_get(col, dst->cache_entry.flags.alpha, 1, render_op);
if (spans)
{
RGBA_Span *span;

View File

@ -132,7 +132,7 @@ rectangle_draw_internal(RGBA_Image *dst, RGBA_Draw_Context *dc, int x, int y, in
# endif
#endif
{
func = evas_common_gfx_func_composite_color_span_get(dc->col.col, dst, w, dc->render_op);
func = evas_common_gfx_func_composite_color_span_get(dc->col.col, dst->cache_entry.flags.alpha, w, dc->render_op);
ptr = dst->image.data + (y * dst->cache_entry.w) + x;
for (yy = 0; yy < h; yy++)
{
@ -150,7 +150,7 @@ evas_common_rectangle_rgba_draw(RGBA_Image *dst, DATA32 color, int render_op, in
DATA32 *ptr;
int yy;
func = evas_common_gfx_func_composite_color_span_get(color, dst, w, render_op);
func = evas_common_gfx_func_composite_color_span_get(color, dst->cache_entry.flags.alpha, w, render_op);
ptr = dst->image.data + (y * dst->cache_entry.w) + x;
for (yy = 0; yy < h; yy++)
{

View File

@ -199,9 +199,9 @@ evas_common_scale_rgba_sample_draw(RGBA_Image *src, RGBA_Image *dst, int dst_cli
dst_ptr = dst_data + dst_clip_x + (dst_clip_y * dst_w);
if (mul_col != 0xffffffff)
func = evas_common_gfx_func_composite_pixel_color_span_get(src, mul_col, dst, dst_clip_w, render_op);
func = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
else
func = evas_common_gfx_func_composite_pixel_span_get(src, dst, dst_clip_w, render_op);
func = evas_common_gfx_func_composite_pixel_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
if ((dst_region_w == src_region_w) && (dst_region_h == src_region_h))
{
@ -396,9 +396,9 @@ scale_rgba_in_to_out_clip_sample_internal(RGBA_Image *src, RGBA_Image *dst,
dst_ptr = dst_data + dst_clip_x + (dst_clip_y * dst_w);
if (dc->mul.use)
func = evas_common_gfx_func_composite_pixel_color_span_get(src, dc->mul.col, dst, dst_clip_w, dc->render_op);
func = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dc->mul.col, dst->cache_entry.flags.alpha, dst_clip_w, dc->render_op);
else
func = evas_common_gfx_func_composite_pixel_span_get(src, dst, dst_clip_w, dc->render_op);
func = evas_common_gfx_func_composite_pixel_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, dc->render_op);
if ((dst_region_w == src_region_w) && (dst_region_h == src_region_h))
{

View File

@ -19,9 +19,9 @@
buf = alloca(dst_clip_w * sizeof(DATA32));
if (mul_col != 0xffffffff)
func = evas_common_gfx_func_composite_pixel_color_span_get(src, mul_col, dst, dst_clip_w, render_op);
func = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
else
func = evas_common_gfx_func_composite_pixel_span_get(src, dst, dst_clip_w, render_op);
func = evas_common_gfx_func_composite_pixel_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
/* scaling down vertically */
if ((dst_region_w >= src_region_w) &&
(dst_region_h < src_region_h))

View File

@ -4,9 +4,9 @@
ptr = src->image.data + ((dst_clip_y - dst_region_y + src_region_y) * src_w) + (dst_clip_x - dst_region_x) + src_region_x;
if (mul_col != 0xffffffff)
func = evas_common_gfx_func_composite_pixel_color_span_get(src, mul_col, dst, dst_clip_w, render_op);
func = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
else
func = evas_common_gfx_func_composite_pixel_span_get(src, dst, dst_clip_w, render_op);
func = evas_common_gfx_func_composite_pixel_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
while (dst_clip_h--)
{

View File

@ -34,9 +34,9 @@
{
buf = alloca(dst_clip_w * sizeof(DATA32));
if (mul_col != 0xffffffff)
func = evas_common_gfx_func_composite_pixel_color_span_get(src, mul_col, dst, dst_clip_w, render_op);
func = evas_common_gfx_func_composite_pixel_color_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, mul_col, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
else
func = evas_common_gfx_func_composite_pixel_span_get(src, dst, dst_clip_w, render_op);
func = evas_common_gfx_func_composite_pixel_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, dst_clip_w, render_op);
}
else
buf = pdst;

View File

@ -69,7 +69,7 @@ _image_draw_cpu_alpha2rgba(void *data EINA_UNUSED, void *context,
EINA_SAFETY_ON_FALSE_RETURN_VAL((src_w == dst_w) && (src_h == dst_h), EINA_FALSE);
func = evas_common_gfx_func_composite_mask_color_span_get
(dc->color, surface, 1, dc->render_op);
(dc->color, dst->cache_entry.flags.alpha, 1, dc->render_op);
EINA_SAFETY_ON_NULL_RETURN_VAL(func, EINA_FALSE);
sw = src->cache_entry.w;
@ -208,7 +208,7 @@ _image_draw_cpu_rgba2rgba(void *data EINA_UNUSED, void *context,
EINA_SAFETY_ON_FALSE_RETURN_VAL((src_w == dst_w) && (src_h == dst_h), EINA_FALSE);
func = evas_common_gfx_func_composite_pixel_span_get(image, surface, 1, dc->render_op);
func = evas_common_gfx_func_composite_pixel_span_get(src->cache_entry.flags.alpha, src->cache_entry.flags.alpha_sparse, dst->cache_entry.flags.alpha, 1, dc->render_op);
EINA_SAFETY_ON_NULL_RETURN_VAL(func, EINA_FALSE);
sw = src->cache_entry.w;

View File

@ -220,8 +220,8 @@ _mask_cpu_alpha_rgba_rgba(Evas_Filter_Command *cmd)
stepcount = w / stepsize;
span = malloc(stepsize * sizeof(DATA32));
func1 = evas_common_gfx_func_composite_pixel_mask_span_get(mask, out, 1, EVAS_RENDER_COPY);
func2 = evas_common_gfx_func_composite_pixel_color_span_get(mask, color2, out, 1, op);
func1 = evas_common_gfx_func_composite_pixel_mask_span_get(mask->cache_entry.flags.alpha, mask->cache_entry.flags.alpha_sparse, out->cache_entry.flags.alpha, 1, EVAS_RENDER_COPY);
func2 = evas_common_gfx_func_composite_pixel_color_span_get(mask->cache_entry.flags.alpha, mask->cache_entry.flags.alpha_sparse, color2, out->cache_entry.flags.alpha, 1, op);
// Apply mask using Gfx functions
for (y = 0, my = 0; y < h; y++, my++, msk += mw)
@ -313,7 +313,7 @@ _mask_cpu_alpha_alpha_rgba(Evas_Filter_Command *cmd)
stepcount = w / stepsize;
span = malloc(stepsize * sizeof(DATA8));
func = evas_common_gfx_func_composite_mask_color_span_get(color, out, 1, op);
func = evas_common_gfx_func_composite_mask_color_span_get(color, out->cache_entry.flags.alpha, 1, op);
span_func = evas_common_alpha_func_get(EVAS_RENDER_MASK);
for (y = 0, my = 0; y < h; y++, my++, msk += mw)

View File

@ -1011,17 +1011,17 @@ struct _RGBA_Gfx_Compositor
void (*init)(void);
void (*shutdown)(void);
RGBA_Gfx_Func (*composite_pixel_span_get)(RGBA_Image *src, RGBA_Image *dst, int pixels);
RGBA_Gfx_Func (*composite_color_span_get)(DATA32 col, RGBA_Image *dst, int pixels);
RGBA_Gfx_Func (*composite_pixel_color_span_get)(RGBA_Image *src, DATA32 col, RGBA_Image *dst, int pixels);
RGBA_Gfx_Func (*composite_mask_color_span_get)(DATA32 col, RGBA_Image *dst, int pixels);
RGBA_Gfx_Func (*composite_pixel_mask_span_get)(RGBA_Image *src, RGBA_Image *dst, int pixels);
RGBA_Gfx_Func (*composite_pixel_span_get)(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
RGBA_Gfx_Func (*composite_color_span_get)(DATA32 col, Eina_Bool dst_alpha, int pixels);
RGBA_Gfx_Func (*composite_pixel_color_span_get)(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, DATA32 col, Eina_Bool dst_alpha, int pixels);
RGBA_Gfx_Func (*composite_mask_color_span_get)(DATA32 col, Eina_Bool dst_alpha, int pixels);
RGBA_Gfx_Func (*composite_pixel_mask_span_get)(Eina_Bool src_alpha, Eina_Bool src_sparse_alpha, Eina_Bool dst_alpha, int pixels);
RGBA_Gfx_Pt_Func (*composite_pixel_pt_get)(Image_Entry_Flags src_flags, RGBA_Image *dst);
RGBA_Gfx_Pt_Func (*composite_color_pt_get)(DATA32 col, RGBA_Image *dst);
RGBA_Gfx_Pt_Func (*composite_pixel_color_pt_get)(Image_Entry_Flags src_flags, DATA32 col, RGBA_Image *dst);
RGBA_Gfx_Pt_Func (*composite_mask_color_pt_get)(DATA32 col, RGBA_Image *dst);
RGBA_Gfx_Pt_Func (*composite_pixel_mask_pt_get)(Image_Entry_Flags src_flags, RGBA_Image *dst);
RGBA_Gfx_Pt_Func (*composite_pixel_pt_get)(Eina_Bool src_alpha, Eina_Bool dst_alpha);
RGBA_Gfx_Pt_Func (*composite_color_pt_get)(DATA32 col, Eina_Bool dst_alpha);
RGBA_Gfx_Pt_Func (*composite_pixel_color_pt_get)(Eina_Bool src_alpha, DATA32 col, Eina_Bool dst_alpha);
RGBA_Gfx_Pt_Func (*composite_mask_color_pt_get)(DATA32 col, Eina_Bool dst_alpha);
RGBA_Gfx_Pt_Func (*composite_pixel_mask_pt_get)(Eina_Bool src_alpha, Eina_Bool dst_alpha);
};
#define EVAS_RECT_SPLIT 1