Enlightenment CVS committal Author : turran Project : e17 Module : proto/enesim
Dir : e17/proto/enesim/src/lib/raster/surface Modified Files: surface.h surface.c argb8888.h argb8888.c Log Message: + Anti Alias Polygon rasterizer (kiia8, 16 and 32) + Move scanline definitions to the API (first step for a new scanline approach) + Blending with a relative alpha + New data types (extender, etc) =================================================================== RCS file: /cvs/e/e17/proto/enesim/src/lib/raster/surface/surface.h,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- surface.h 19 Oct 2007 15:30:06 -0000 1.4 +++ surface.h 2 Dec 2007 23:28:43 -0000 1.5 @@ -24,10 +24,12 @@ } Enesim_Surface_Data; typedef void (*Span_Color_Func) (Enesim_Surface_Data *data, int off, DATA32 c, int w); +typedef void (*Span_Color_Mask_Func) (Enesim_Surface_Data *data, int off, DATA32 c, int w, DATA8 *m); typedef struct _Surface_Func { Span_Color_Func sp_color; + Span_Color_Mask_Func sp_color_mask; } Surface_Rop_Func; typedef void (*Surface_Conv_Func) (Enesim_Surface_Data *sdata, Enesim_Surface_Data *ddata, int w, int h); =================================================================== RCS file: /cvs/e/e17/proto/enesim/src/lib/raster/surface/surface.c,v retrieving revision 1.4 retrieving revision 1.5 diff -u -3 -r1.4 -r1.5 --- surface.c 19 Oct 2007 15:30:06 -0000 1.4 +++ surface.c 2 Dec 2007 23:28:43 -0000 1.5 @@ -28,6 +28,15 @@ #endif return _backends[s->format]->rops[ENESIM_RENDERER_BLEND].sp_color; } +/** + * To be documented + * FIXME: To be fixed + */ +Span_Color_Mask_Func enesim_surface_span_color_mask_get(Enesim_Surface *s, + int rop) +{ + return _backends[s->format]->rops[ENESIM_RENDERER_BLEND].sp_color_mask; +} /*============================================================================* * API * *============================================================================*/ =================================================================== RCS file: /cvs/e/e17/proto/enesim/src/lib/raster/surface/argb8888.h,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- argb8888.h 19 Oct 2007 15:30:06 -0000 1.2 +++ argb8888.h 2 Dec 2007 23:28:43 -0000 1.3 @@ -13,6 +13,13 @@ (((((c) & 0x00ff00ff) * (a)) >> 8) & 0x00ff00ff) ); } +static inline DATA32 mul_sym(DATA32 a, DATA32 x) +{ + return ( (((((x) >> 8) & 0x00ff00ff) * (a) + 0xff00ff) & 0xff00ff00) + + (((((x) & 0x00ff00ff) * (a) + 0xff00ff) >> 8) & 0x00ff00ff) ); +} + void argb8888_c_color(Enesim_Surface_Data *data, int off, DATA32 c, int len); +void argb8888_c_color_mask(Enesim_Surface_Data *data, int off, DATA32 c, int len, DATA8 *mask); #endif =================================================================== RCS file: /cvs/e/e17/proto/enesim/src/lib/raster/surface/argb8888.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- argb8888.c 19 Oct 2007 15:30:06 -0000 1.2 +++ argb8888.c 2 Dec 2007 23:28:43 -0000 1.3 @@ -41,6 +41,7 @@ .rops = { [ENESIM_RENDERER_BLEND] = { argb8888_c_color, + argb8888_c_color_mask, }, }, .premul = argb8888_premul, ------------------------------------------------------------------------- SF.Net email is sponsored by: The Future of Linux Business White Paper from Novell. From the desktop to the data center, Linux is going mainstream. Let it simplify your IT future. http://altfarm.mediaplex.com/ad/ck/8857-50307-18918-4 _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs