oops and fix the flags!
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 27 Mar 2009 14:11:27 +0000 (14:11 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 27 Mar 2009 14:11:27 +0000 (14:11 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@39762 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/engines/common/evas_image_main.c
src/lib/engines/common/evas_image_scalecache.c

index 1c0fb4f..495cf96 100644 (file)
@@ -410,7 +410,7 @@ evas_common_image_alpha_create(int w, int h)
    if (!im) return NULL;
    im->cache_entry.w = w;
    im->cache_entry.h = h;
-   im->flags |= RGBA_IMAGE_ALPHA_ONLY;
+   im->cache_entry.flags.alpha = 1;
    if (_evas_common_rgba_image_surface_alloc(&im->cache_entry, w, h))
      {
         _evas_common_rgba_image_delete(&im->cache_entry);
index b026d7b..7e72642 100644 (file)
@@ -387,7 +387,26 @@ evas_common_rgba_image_scalecache_do(Image_Entry *ie, RGBA_Image *dst,
                    dst_region_w, dst_region_h);
    if (!sci)
      {
+        if (im->cache_entry.space == EVAS_COLORSPACE_ARGB8888)
+          evas_cache_image_load_data(&im->cache_entry);
+        evas_common_image_colorspace_normalize(im);
+        misses++;
         LKU(im->cache.lock);
+        if (im->image.data)
+          {
+             if (smooth)
+               evas_common_scale_rgba_in_to_out_clip_smooth(im, dst, dc,
+                                                            src_region_x, src_region_y, 
+                                                            src_region_w, src_region_h,
+                                                            dst_region_x, dst_region_y, 
+                                                            dst_region_w, dst_region_h);
+             else
+               evas_common_scale_rgba_in_to_out_clip_sample(im, dst, dc,
+                                                            src_region_x, src_region_y, 
+                                                            src_region_w, src_region_h,
+                                                            dst_region_x, dst_region_y, 
+                                                            dst_region_w, dst_region_h);
+          }
         return;
      }
    if (sci->populate_me)