Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/include


Modified Files:
        evas_common.h 


Log Message:


i worked on a regionbuf set of code (exact rectangles). i THINK it has some
bugs... but its disabled right now and it didnt speed anything up :( but it's
there for perusal and later work anyway...

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/include/evas_common.h,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -3 -r1.29 -r1.30
--- evas_common.h       3 Feb 2005 07:28:31 -0000       1.29
+++ evas_common.h       5 Feb 2005 02:30:13 -0000       1.30
@@ -23,6 +23,9 @@
 
 /*****************************************************************************/
 
+/* use exact rects for updates not tiles */
+/* #define RECTUPDATE */
+
 #undef MIN
 #define MIN(_x, _y) \
 (((_x) < (_y)) ? (_x) : (_y))
@@ -177,6 +180,9 @@
 typedef struct _Tilebuf_Tile          Tilebuf_Tile;
 typedef struct _Tilebuf_Rect          Tilebuf_Rect;
 
+typedef struct _Regionbuf             Regionbuf;
+typedef struct _Regionspan            Regionspan;
+
 typedef void (*Gfx_Func_Blend_Src_Dst) (DATA32 *src, DATA32 *dst, int len);
 typedef void (*Gfx_Func_Blend_Color_Dst) (DATA32 src, DATA32 *dst, int len);
 typedef void (*Gfx_Func_Blend_Src_Cmod_Dst) (DATA32 *src, DATA32 *dst, int 
len, DATA8 *rmod, DATA8 *gmod, DATA8 *bmod, DATA8 *amod);
@@ -385,11 +391,15 @@
    struct {
       int           w, h;
    } tile_size;
-   
+
+#ifdef RECTUPDATE
+   Regionbuf *rb;
+#else
    struct {
       int           w, h;
       Tilebuf_Tile *tiles;
    } tiles;
+#endif
 };
 
 struct _Tilebuf_Tile
@@ -413,6 +423,18 @@
    int               x, y, w, h;
 };
 
+struct _Regionbuf
+{
+   int w, h;
+   Regionspan **spans;
+};
+
+struct _Regionspan
+{
+   Evas_Object_List  _list_data;
+   int x1, x2;
+};
+
 struct _Cutout_Rect
 {
    Evas_Object_List  _list_data;
@@ -890,7 +912,15 @@
 void          evas_common_tilebuf_clear             (Tilebuf *tb);
 Tilebuf_Rect *evas_common_tilebuf_get_render_rects  (Tilebuf *tb);
 void          evas_common_tilebuf_free_render_rects (Tilebuf_Rect *rects);
-    
+
+
+Regionbuf    *evas_common_regionbuf_new       (int w, int h);
+void          evas_common_regionbuf_free      (Regionbuf *rb);
+void          evas_common_regionbuf_clear     (Regionbuf *rb);
+void          evas_common_regionbuf_span_add  (Regionbuf *rb, int x1, int x2, 
int y);
+void          evas_common_regionbuf_span_del  (Regionbuf *rb, int x1, int x2, 
int y);
+Tilebuf_Rect *evas_common_regionbuf_rects_get (Regionbuf *rb);
+   
 /****/
 void               evas_common_draw_init                      (void);
 
@@ -915,7 +945,7 @@
 void               evas_common_draw_context_apply_free_cutouts(Cutout_Rect 
*rects);
 Cutout_Rect       *evas_common_draw_context_cutouts_split     (Cutout_Rect 
*in, Cutout_Rect *split);
 Cutout_Rect       *evas_common_draw_context_cutout_split      (Cutout_Rect 
*in, Cutout_Rect *split);
-    
+Cutout_Rect       *evas_common_draw_context_cutout_merge      (Cutout_Rect 
*in, Cutout_Rect *merge);
 Gfx_Func_Blend_Src_Dst           evas_common_draw_func_blend_get       
(RGBA_Image *src, RGBA_Image *dst, int pixels);
 Gfx_Func_Blend_Color_Dst         evas_common_draw_func_blend_color_get (DATA32 
src, RGBA_Image *dst, int pixels);
 Gfx_Func_Blend_Src_Cmod_Dst      evas_common_draw_func_blend_cmod_get  
(RGBA_Image *src, RGBA_Image *dst, int pixels);




-------------------------------------------------------
This SF.Net email is sponsored by: IntelliVIEW -- Interactive Reporting
Tool for open source databases. Create drag-&-drop reports. Save time
by over 75%! Publish reports on the web. Export to DOC, XLS, RTF, etc.
Download a FREE copy at http://www.intelliview.com/go/osdn_nl
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to