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_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);
   if (func)
	return func;
   return _composite_pt_nothing;
}
RGBA_Gfx_Func
evas_common_gfx_func_composite_pixel_mask_span_get(RGBA_Image *src, RGBA_Image *dst, 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);
   if (func)
	return func;
   return _composite_span_nothing;
}
RGBA_Gfx_Pt_Func
evas_common_gfx_func_composite_mask_color_pt_get(DATA32 col, RGBA_Image *dst, 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);
   if (func)
	return func;
   return _composite_pt_nothing;
}
Example #4
0
RGBA_Gfx_Pt_Func
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_alpha, dst_alpha);
    if (func)
        return func;
    return _composite_pt_nothing;
}
Example #5
0
RGBA_Gfx_Func
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_alpha, pixels);
    if (func)
        return func;
    return _composite_span_nothing;
}
void
evas_common_blend_shutdown(void)
{
   RGBA_Gfx_Compositor  *comp;

   comp = evas_common_gfx_compositor_copy_get();
   if (comp) comp->shutdown();
   comp = evas_common_gfx_compositor_copy_rel_get();
   if (comp) comp->shutdown();

   comp = evas_common_gfx_compositor_blend_get();
   if (comp) comp->shutdown();
   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();
   if (comp) comp->shutdown();
   comp = evas_common_gfx_compositor_sub_get();
   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();

   comp = evas_common_gfx_compositor_mul_get();
   if (comp) comp->shutdown();
}
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_Compositor  *comp;
   RGBA_Gfx_Pt_Func     func = NULL;

   if ((!src_flags.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);
   if (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)
{
   RGBA_Gfx_Compositor  *comp;
   RGBA_Gfx_Pt_Func     func = NULL;

   if ((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_color_pt_get(col, dst);
   if (func)
	return func;
   return _composite_pt_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)
{
   RGBA_Gfx_Compositor  *comp;
   RGBA_Gfx_Func        func = NULL;

   if ((src && (!src->cache_entry.flags.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_span_get(src, col, dst, pixels);
   if (func)
	return func;
   return _composite_span_nothing;
}
Example #10
0
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_Compositor  *comp;
    RGBA_Gfx_Pt_Func     func = NULL;

    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_alpha, col, dst_alpha);
    if (func)
        return func;
    return _composite_pt_nothing;
}
Example #11
0
RGBA_Gfx_Func
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;

    if ((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_color_span_get(col, dst_alpha, pixels);
    if (func)
        return func;
    return _composite_span_nothing;
}
Example #12
0
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_Compositor  *comp;
    RGBA_Gfx_Func        func = NULL;

    if (!src_alpha)
    {
        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_span_get(src_alpha, src_sparse_alpha, dst_alpha, pixels);
    if (func)
        return func;
    return _composite_span_nothing;
}
EAPI void
evas_common_blend_init(void)
{
   static int gfx_initialised = 0;
   static int mmx = 0;
   static int sse = 0;
   static int sse2 = 0;
   RGBA_Gfx_Compositor  *comp;

   if (gfx_initialised) return;
   gfx_initialised = 1;

   evas_common_cpu_can_do(&mmx, &sse, &sse2);

   comp = evas_common_gfx_compositor_copy_get();
   if (comp) comp->init();
   comp = evas_common_gfx_compositor_copy_rel_get();
   if (comp) comp->init();

   comp = evas_common_gfx_compositor_blend_get();
   if (comp) comp->init();
   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();
   if (comp) comp->init();
   comp = evas_common_gfx_compositor_sub_get();
   if (comp) comp->init();
   comp = evas_common_gfx_compositor_sub_rel_get();
   if (comp) comp->init();
*/
   comp = evas_common_gfx_compositor_mask_get();
   if (comp) comp->init();

   comp = evas_common_gfx_compositor_mul_get();
   if (comp) comp->init();
}