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

Reply via email to