And make map work with cserve2
authorsachiel <sachiel@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 7 May 2012 19:58:34 +0000 (19:58 +0000)
committersachiel <sachiel@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Mon, 7 May 2012 19:58:34 +0000 (19:58 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@70858 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/engines/common/evas_map_image.c
src/modules/engines/software_generic/evas_engine.c

index 502b2dc..4106c20 100644 (file)
@@ -1,5 +1,8 @@
 #include "evas_common.h"
 #include "evas_blend_private.h"
+#ifdef EVAS_CSERVE2
+#include "evas_cs2_private.h"
+#endif
 
 #ifdef BUILD_SCALE_SMOOTH
 # ifdef BUILD_MMX
@@ -385,7 +388,14 @@ evas_common_map_rgba(RGBA_Image *src, RGBA_Image *dst,
    int          i;
    
    if (src->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
-     evas_cache_image_load_data(&src->cache_entry);
+     {
+#ifdef EVAS_CSERVE2
+        if (evas_cserve2_use_get())
+          evas_cache2_image_load_data(&src->cache_entry);
+        else
+#endif
+          evas_cache_image_load_data(&src->cache_entry);
+     }
    evas_common_image_colorspace_normalize(src);
    if (!src->image.data) return;
 #ifdef BUILD_MMX
index 96ed50c..f0a11ba 100644 (file)
@@ -767,7 +767,7 @@ eng_image_data_get(void *data __UNUSED__, void *image, int to_write, DATA32 **im
         if (err) *err = error;
 
         if (to_write)
-          im = evas_cache2_image_writable(&im->cache_entry);
+          im = (RGBA_Image *)evas_cache2_image_writable(&im->cache_entry);
 
         *image_data = im->image.data;
         return im;
@@ -998,6 +998,16 @@ static void *
 eng_image_map_surface_new(void *data __UNUSED__, int w, int h, int alpha)
 {
    void *surface;
+#ifdef EVAS_CSERVE2
+   if (evas_cserve2_use_get())
+     {
+        surface = evas_cache2_image_copied_data(evas_common_image_cache2_get(),
+                                                w, h, NULL, alpha,
+                                                EVAS_COLORSPACE_ARGB8888);
+        evas_cache2_image_pixels(surface);
+        return surface;
+     }
+#endif
    surface = evas_cache_image_copied_data(evas_common_image_cache_get(), 
                                           w, h, NULL, alpha, 
                                           EVAS_COLORSPACE_ARGB8888);