Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

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


Modified Files:
        evas_main.c evas_object_image.c 


Log Message:


an xrender engine. fully complete - but it doesnt support shaped window masks
and destination alpha like software_x11 does so its not a 100% dropin
replacement... yet

===================================================================
RCS file: /cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_main.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -3 -r1.21 -r1.22
--- evas_main.c 19 Jun 2005 13:06:36 -0000      1.21
+++ evas_main.c 2 Oct 2005 15:15:44 -0000       1.22
@@ -27,6 +27,9 @@
 #ifdef BUILD_ENGINE_CAIRO_X11
 #include "evas_engine_api_cairo_x11.h"
 #endif
+#ifdef BUILD_ENGINE_XRENDER_X11
+#include "evas_engine_api_xrender_x11.h"
+#endif
 
 static int initcount = 0;
 
@@ -226,6 +229,11 @@
      e->engine.func = &evas_engine_software_x11_func;
    else
 #endif
+#ifdef BUILD_ENGINE_XRENDER_X11
+   if (e->output.render_method == RENDER_METHOD_XRENDER_X11)
+     e->engine.func = &evas_engine_xrender_x11_func;
+   else
+#endif
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
      if (e->output.render_method == RENDER_METHOD_SOFTWARE_XCB)
      e->engine.func = &evas_engine_software_xcb_func;
@@ -676,6 +684,9 @@
 #ifdef BUILD_ENGINE_SOFTWARE_X11
    if (!strcmp(name, "software_x11")) return RENDER_METHOD_SOFTWARE_X11;
 #endif
+#ifdef BUILD_ENGINE_XRENDER_X11
+   if (!strcmp(name, "xrender_x11")) return RENDER_METHOD_XRENDER_X11;
+#endif
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
    if (!strcmp(name, "software_xcb")) return RENDER_METHOD_SOFTWARE_XCB;
 #endif
@@ -746,6 +757,9 @@
 #ifdef BUILD_ENGINE_SOFTWARE_X11
    methods = evas_list_append(methods, strdup("software_x11"));
 #endif
+#ifdef BUILD_ENGINE_XRENDER_X11
+   methods = evas_list_append(methods, strdup("xrender_x11"));
+#endif
 #ifdef BUILD_ENGINE_SOFTWARE_XCB
    methods = evas_list_append(methods, strdup("software_xcb"));
 #endif
===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/canvas/evas_object_image.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- evas_object_image.c 18 Jun 2005 01:00:29 -0000      1.28
+++ evas_object_image.c 2 Oct 2005 15:15:44 -0000       1.29
@@ -831,7 +831,7 @@
    if ((!o->cur.file) ||
        (o->pixels_checked_out > 0)) return;
    if (o->engine_data)
-     o->engine_data = 
obj->layer->evas->engine.func->image_dirty_region(obj->layer->evas->engine.data.output,
 o->engine_data, 0, 0, 1, 1);
+     o->engine_data = 
obj->layer->evas->engine.func->image_dirty_region(obj->layer->evas->engine.data.output,
 o->engine_data, 0, 0, o->cur.image.w, o->cur.image.h);
    evas_object_image_unload(obj);
 /*   evas_image_cache_flush(obj->layer->evas);*/
    evas_object_image_load(obj);
@@ -1615,6 +1615,8 @@
 
                  rr = o->pixel_updates->data;
                  o->pixel_updates = evas_list_remove(o->pixel_updates, rr);
+                 
obj->layer->evas->engine.func->image_dirty_region(obj->layer->evas->engine.data.output,
 o->engine_data, rr->x, rr->y, rr->w, rr->h);
+                 
                  idx = evas_object_image_figure_x_fill(obj, o->cur.fill.x, 
o->cur.fill.w, &idw);
                  idy = evas_object_image_figure_y_fill(obj, o->cur.fill.y, 
o->cur.fill.h, &idh);
 
@@ -1662,6 +1664,7 @@
                       o->pixel_updates = evas_list_remove(o->pixel_updates, r);
                       free(r);
                    }
+                 
obj->layer->evas->engine.func->image_dirty_region(obj->layer->evas->engine.data.output,
 o->engine_data, 0, 0, o->cur.image.w, o->cur.image.h);
                  updates = evas_object_render_pre_prev_cur_add(updates, obj);
                  goto done;
               }




-------------------------------------------------------
This SF.Net email is sponsored by:
Power Architecture Resource Center: Free content, downloads, discussions,
and more. http://solutions.newsforge.com/ibmarch.tmpl
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to