Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

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


Modified Files:
        evas_common.h 


Log Message:


1. gustavo';s fuzzy rect implementation for updates. fixed so del's work,
tuned for best performance on my core2 duo desktop - for now. will check
more. also make the yuv colorspace code be a bit more robust and fix leak in
gl engine with shaders.

===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/include/evas_common.h,v
retrieving revision 1.80
retrieving revision 1.81
diff -u -3 -r1.80 -r1.81
--- evas_common.h       6 May 2007 11:29:37 -0000       1.80
+++ evas_common.h       2 Jun 2007 15:30:58 -0000       1.81
@@ -531,6 +531,58 @@
    RGBA_Gfx_Pt_Func  (*composite_pixel_mask_pt_get)(int src_flags, RGBA_Image 
*dst);
 };
 
+#define EVAS_RECT_SPLIT 1
+#ifdef EVAS_RECT_SPLIT
+typedef struct list_node list_node_t;
+typedef struct list list_t;
+typedef struct rect rect_t;
+typedef struct rect_node rect_node_t;
+
+struct list_node
+{
+    struct list_node *next;
+};
+
+struct list
+{
+    struct list_node *head;
+    struct list_node *tail;
+};
+
+struct rect
+{
+    short left;
+    short top;
+    short right;
+    short bottom;
+    short width;
+    short height;
+    int area;
+};
+
+struct rect_node
+{
+    struct list_node _lst;
+    struct rect rect;
+};
+
+
+void rect_init(rect_t *r, int x, int y, int w, int h);
+void rect_list_append_node(list_t *rects, list_node_t *node);
+void rect_list_append(list_t *rects, const rect_t r);
+void rect_list_append_xywh(list_t *rects, int x, int y, int w, int h);
+void rect_list_concat(list_t *rects, list_t *other);
+list_node_t *rect_list_unlink_next(list_t *rects, list_node_t *parent_node);
+void rect_list_del_next(list_t *rects, list_node_t *parent_node);
+void rect_list_clear(list_t *rects);
+void rect_list_add_split_strict(list_t *rects, list_node_t *node);
+list_node_t *rect_list_add_split_fuzzy(list_t *rects, const rect_t r, int 
accepted_error);
+void rect_list_merge_rects(list_t *rects, list_t *to_merge, int 
accepted_error);void rect_list_add_split_fuzzy_and_merge(list_t *rects, const 
rect_t r, int split_accepted_error, int merge_accepted_error);
+
+void rect_print(const rect_t r);
+void rect_list_print(const list_t rects);
+#endif /* EVAS_RECT_SPLIT */
+
 struct _Tilebuf
 {
    int outbuf_w;
@@ -542,6 +594,8 @@
 
 #ifdef RECTUPDATE
    Regionbuf *rb;
+#elif defined(EVAS_RECT_SPLIT)
+   list_t rects;
 #else
    struct {
       int           w, h;



-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to