Enlightenment CVS committal
Author : raster
Project : e17
Module : libs/evas
Dir : e17/libs/evas/src/lib/engines/common
Modified Files:
evas_blit_main.c evas_font_draw.c evas_gradient_main.c
evas_image_data.c evas_image_load.c evas_image_main.c
evas_line_main.c evas_pipe.c evas_polygon_main.c
evas_rectangle_main.c evas_scale_sample.c evas_scale_smooth.c
evas_scale_smooth_scaler.c evas_scale_smooth_scaler_down.c
evas_scale_smooth_scaler_noscale.c
evas_scale_smooth_scaler_up.c
Log Message:
cedric's cache changes patch
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_blit_main.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- evas_blit_main.c 13 Sep 2007 14:35:01 -0000 1.8
+++ evas_blit_main.c 12 Apr 2008 00:32:25 -0000 1.9
@@ -32,7 +32,7 @@
/* clip clip clip */
if (w <= 0) return;
- if (src_x + w > src->image->w) w = src->image->w - src_x;
+ if (src_x + w > src->cache_entry.w) w = src->cache_entry.w - src_x;
if (w <= 0) return;
if (src_x < 0)
{
@@ -43,7 +43,7 @@
if (w <= 0) return;
if (h <= 0) return;
- if (src_y + h > src->image->h) h = src->image->h - src_y;
+ if (src_y + h > src->cache_entry.h) h = src->cache_entry.h - src_y;
if (h <= 0) return;
if (src_y < 0)
{
@@ -54,7 +54,7 @@
if (h <= 0) return;
if (w <= 0) return;
- if (dst_x + w > dst->image->w) w = dst->image->w - dst_x;
+ if (dst_x + w > dst->cache_entry.w) w = dst->cache_entry.w - dst_x;
if (w <= 0) return;
if (dst_x < 0)
{
@@ -65,7 +65,7 @@
if (w <= 0) return;
if (h <= 0) return;
- if (dst_y + h > dst->image->h) h = dst->image->h - dst_y;
+ if (dst_y + h > dst->cache_entry.h) h = dst->cache_entry.h - dst_y;
if (h <= 0) return;
if (dst_y < 0)
{
@@ -78,13 +78,13 @@
if (dst == src)
{
/* src after dst - go forward */
- if (((src_y * src->image->w) + src_x) > ((dst_y * dst->image->w) +
dst_x))
+ if (((src_y * src->cache_entry.w) + src_x) > ((dst_y *
dst->cache_entry.w) + dst_x))
{
func = evas_common_draw_func_copy_get(w, 0);
for (y = 0; y < h; y++)
{
- src_ptr = src->image->data + ((y + src_y) * src->image->w) +
src_x;
- dst_ptr = dst->image->data + ((y + dst_y) * dst->image->w) +
dst_x;
+ src_ptr = src->image.data + ((y + src_y) *
src->cache_entry.w) + src_x;
+ dst_ptr = dst->image.data + ((y + dst_y) *
dst->cache_entry.w) + dst_x;
func(src_ptr, dst_ptr, w);
}
}
@@ -94,8 +94,8 @@
func = evas_common_draw_func_copy_get(w, 1);
for (y = h - 1; y >= 0; y--)
{
- src_ptr = src->image->data + ((y + src_y) * src->image->w) +
src_x;
- dst_ptr = dst->image->data + ((y + dst_y) * dst->image->w) +
dst_x;
+ src_ptr = src->image.data + ((y + src_y) *
src->cache_entry.w) + src_x;
+ dst_ptr = dst->image.data + ((y + dst_y) *
dst->cache_entry.w) + dst_x;
func(src_ptr, dst_ptr, w);
}
}
@@ -105,8 +105,8 @@
func = evas_common_draw_func_copy_get(w, 0);
for (y = 0; y < h; y++)
{
- src_ptr = src->image->data + ((y + src_y) * src->image->w) + src_x;
- dst_ptr = dst->image->data + ((y + dst_y) * dst->image->w) + dst_x;
+ src_ptr = src->image.data + ((y + src_y) * src->cache_entry.w) +
src_x;
+ dst_ptr = dst->image.data + ((y + dst_y) * dst->cache_entry.w) +
dst_x;
func(src_ptr, dst_ptr, w);
}
}
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_font_draw.c,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -3 -r1.34 -r1.35
--- evas_font_draw.c 26 Aug 2007 08:21:57 -0000 1.34
+++ evas_font_draw.c 12 Apr 2008 00:32:25 -0000 1.35
@@ -146,9 +146,9 @@
fi = fn->fonts->data;
- im = dst->image->data;
- im_w = dst->image->w;
- im_h = dst->image->h;
+ im = dst->image.data;
+ im_w = dst->cache_entry.w;
+ im_h = dst->cache_entry.h;
ext_x = 0; ext_y = 0; ext_w = im_w; ext_h = im_h;
if (dc->clip.use)
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_gradient_main.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -3 -r1.15 -r1.16
--- evas_gradient_main.c 6 May 2007 11:29:37 -0000 1.15
+++ evas_gradient_main.c 12 Apr 2008 00:32:25 -0000 1.16
@@ -432,7 +432,7 @@
float angle;
int direct_copy = 0, buf_step = 0;
- if (!dst || !dc || !gr || !dst || !dst->image || !dst->image->data)
+ if (!dst || !dc || !gr || !dst || !dst->image.data)
return;
if (!gr->map.data || !gr->type.geometer)
return;
@@ -440,7 +440,7 @@
return;
if ((w < 1) || (h < 1))
return;
- clx = 0; cly = 0; clw = dst->image->w; clh = dst->image->h;
+ clx = 0; cly = 0; clw = dst->cache_entry.w; clh = dst->cache_entry.h;
if ((clw < 1) || (clh < 1)) return;
if (dc->clip.use)
@@ -459,14 +459,14 @@
if ((dc->render_op == _EVAS_RENDER_FILL) ||
(dc->render_op == _EVAS_RENDER_COPY))
{
- direct_copy = 1; buf_step = dst->image->w;
+ direct_copy = 1; buf_step = dst->cache_entry.w;
if (gr->type.geometer->has_alpha(gr, dc->render_op))
dst->flags |= RGBA_IMAGE_HAS_ALPHA;
}
else if ((dc->render_op == _EVAS_RENDER_BLEND) &&
!gr->type.geometer->has_alpha(gr, dc->render_op))
{
- direct_copy = 1; buf_step = dst->image->w;
+ direct_copy = 1; buf_step = dst->cache_entry.w;
}
}
if (!direct_copy)
@@ -514,13 +514,13 @@
map = gr->map.data;
len = gr->map.len;
- pdst = dst->image->data + (y * dst->image->w) + x;
- dst_end = pdst + (h * dst->image->w);
+ pdst = dst->image.data + (y * dst->cache_entry.w) + x;
+ dst_end = pdst + (h * dst->cache_entry.w);
if (!direct_copy)
{
- buf = argb_buf->image->data;
+ buf = argb_buf->image.data;
if (alpha_buf)
- mask = (DATA8 *)alpha_buf->image->data;
+ mask = (DATA8 *)alpha_buf->image.data;
}
else
buf = pdst;
@@ -536,7 +536,7 @@
evas_common_cpu_end_opt();
}
buf += buf_step;
- pdst += dst->image->w;
+ pdst += dst->cache_entry.w;
yoff++;
}
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_image_data.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -3 -r1.1 -r1.2
--- evas_image_data.c 16 Jul 2007 07:25:33 -0000 1.1
+++ evas_image_data.c 12 Apr 2008 00:32:25 -0000 1.2
@@ -3,16 +3,18 @@
#include <assert.h>
-EAPI int
-evas_common_image_from_data(RGBA_Image* dst, int w, int h, DATA32 *image_data,
int alpha, int cspace)
+int
+evas_common_rgba_image_from_data(Image_Entry* ie_dst, int w, int h, DATA32
*image_data, int alpha, int cspace)
{
+ RGBA_Image *dst = (RGBA_Image *) ie_dst;
+
switch (cspace)
{
case EVAS_COLORSPACE_ARGB8888:
- dst->image->w = w;
- dst->image->h = h;
- dst->image->data = image_data;
- dst->image->no_free = 1;
+ dst->cache_entry.w = w;
+ dst->cache_entry.h = h;
+ dst->image.data = image_data;
+ dst->image.no_free = 1;
if (alpha)
dst->flags |= RGBA_IMAGE_HAS_ALPHA;
else
@@ -21,9 +23,8 @@
case EVAS_COLORSPACE_YCBCR422P601_PL:
case EVAS_COLORSPACE_YCBCR422P709_PL:
w &= ~0x1;
- dst->image->w = w;
- dst->image->h = h;
- evas_common_image_surface_alloc(dst->image);
+ dst->cache_entry.w = w;
+ dst->cache_entry.h = h;
dst->cs.data = image_data;
dst->cs.no_free = 1;
break;
@@ -31,14 +32,17 @@
abort();
break;
}
- dst->cs.space = cspace;
+ dst->cache_entry.space = cspace;
evas_common_image_colorspace_dirty(dst);
return 0;
}
-EAPI int
-evas_common_image_from_copied_data(RGBA_Image* dst, int w, int h, DATA32
*image_data, int alpha, int cspace)
+int
+evas_common_rgba_image_from_copied_data(Image_Entry* ie_dst, int w, int h,
DATA32 *image_data, int alpha, int cspace)
{
+ RGBA_Image *dst = (RGBA_Image *) ie_dst;
+
+ /* FIXME: Is dst->image.data valid. */
switch (cspace)
{
case EVAS_COLORSPACE_ARGB8888:
@@ -47,46 +51,49 @@
else
dst->flags &= ~RGBA_IMAGE_HAS_ALPHA;
if (image_data)
- memcpy(dst->image->data, image_data, w * h * sizeof(DATA32));
+ memcpy(dst->image.data, image_data, w * h * sizeof(DATA32));
break;
case EVAS_COLORSPACE_YCBCR422P601_PL:
case EVAS_COLORSPACE_YCBCR422P709_PL:
- dst->cs.data = calloc(1, dst->image->h * sizeof(unsigned char*) * 2);
+ dst->cs.data = calloc(1, dst->cache_entry.h * sizeof(unsigned char*) *
2);
if (image_data && (dst->cs.data))
- memcpy(dst->cs.data, image_data, dst->image->h * sizeof(unsigned
char*) * 2);
+ memcpy(dst->cs.data, image_data, dst->cache_entry.h *
sizeof(unsigned char*) * 2);
break;
default:
abort();
break;
}
- dst->cs.space = cspace;
+ dst->cache_entry.space = cspace;
evas_common_image_colorspace_dirty(dst);
return 0;
}
-EAPI int
-evas_common_image_size_set(RGBA_Image* dst, const RGBA_Image* im, int w, int h)
+int
+evas_common_rgba_image_size_set(Image_Entry *ie_dst, const Image_Entry *ie_im,
int w, int h)
{
- if ((im->cs.space == EVAS_COLORSPACE_YCBCR422P601_PL) ||
- (im->cs.space == EVAS_COLORSPACE_YCBCR422P709_PL))
+ RGBA_Image *dst = (RGBA_Image *) ie_dst;
+ RGBA_Image *im = (RGBA_Image *) ie_im;
+
+ if ((im->cache_entry.space == EVAS_COLORSPACE_YCBCR422P601_PL) ||
+ (im->cache_entry.space == EVAS_COLORSPACE_YCBCR422P709_PL))
w &= ~0x1;
- dst->cs.space = im->cs.space;
dst->flags = im->flags;
dst->cs.no_free = 0;
- if ((im->cs.space == EVAS_COLORSPACE_YCBCR422P601_PL) ||
- (im->cs.space == EVAS_COLORSPACE_YCBCR422P709_PL))
- dst->cs.data = calloc(1, dst->image->h * sizeof(unsigned char *) * 2);
- evas_common_image_surface_alloc(dst->image);
+ if ((im->cache_entry.space == EVAS_COLORSPACE_YCBCR422P601_PL) ||
+ (im->cache_entry.space == EVAS_COLORSPACE_YCBCR422P709_PL))
+ dst->cs.data = calloc(1, dst->cache_entry.h * sizeof(unsigned char *) *
2);
evas_common_image_colorspace_dirty(dst);
return 0;
}
-EAPI int
-evas_common_image_colorspace_set(RGBA_Image* dst, int cspace)
+int
+evas_common_rgba_image_colorspace_set(Image_Entry* ie_dst, int cspace)
{
+ RGBA_Image *dst = (RGBA_Image *) ie_dst;
+
switch (cspace)
{
case EVAS_COLORSPACE_ARGB8888:
@@ -99,24 +106,24 @@
break;
case EVAS_COLORSPACE_YCBCR422P601_PL:
case EVAS_COLORSPACE_YCBCR422P709_PL:
- if (dst->image->no_free)
+ if (dst->image.no_free)
{
- dst->image->data = NULL;
- dst->image->no_free = 0;
- evas_common_image_surface_alloc(dst->image);
+ dst->image.data = NULL;
+ dst->image.no_free = 0;
+ /* FIXME: Must allocate image.data surface cleanly. */
}
if (dst->cs.data)
{
if (!dst->cs.no_free) free(dst->cs.data);
}
- dst->cs.data = calloc(1, dst->image->h * sizeof(unsigned char *) * 2);
+ dst->cs.data = calloc(1, dst->cache_entry.h * sizeof(unsigned char *) *
2);
dst->cs.no_free = 0;
break;
default:
abort();
break;
}
- dst->cs.space = cspace;
+ dst->cache_entry.space = cspace;
evas_common_image_colorspace_dirty(dst);
return 0;
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_image_load.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -3 -r1.45 -r1.46
--- evas_image_load.c 1 Mar 2008 15:27:20 -0000 1.45
+++ evas_image_load.c 12 Apr 2008 00:32:25 -0000 1.46
@@ -29,17 +29,18 @@
{ "pnm", "pmaps" }
};
-EAPI int
-evas_common_load_image_module_from_file(RGBA_Image *im)
+int
+evas_common_load_rgba_image_module_from_file(Image_Entry *ie)
{
Evas_Image_Load_Func *evas_image_load_func = NULL;
+ RGBA_Image *im = (RGBA_Image *) ie;
const char *loader = NULL;
- char *dot;
Evas_List *l;
Evas_Module *em;
- int i;
+ char *dot;
+ int i;
- dot = strrchr (im->info.file, '.');
+ dot = strrchr (ie->file, '.');
if (dot)
{
for (i = 0, ++dot; i < (sizeof (loaders) / sizeof (struct
ext_loader_s)); ++i)
@@ -61,7 +62,7 @@
{
evas_module_use(em);
evas_image_load_func = em->functions;
- if (evas_image_load_func->file_head(im, im->info.file,
im->info.key))
+ if (evas_image_load_func->file_head(im, ie->file, ie->key))
goto ok;
}
}
@@ -74,7 +75,7 @@
if (!evas_module_load(em)) continue;
evas_image_load_func = em->functions;
evas_module_use(em);
- if (evas_image_load_func->file_head(im, im->info.file, im->info.key))
+ if (evas_image_load_func->file_head(im, ie->file, ie->key))
{
if (evas_modules != l)
{
@@ -87,39 +88,28 @@
return -1;
ok:
- im->info.module = (void *)em;
- im->info.loader = (void *)evas_image_load_func;
- evas_module_ref((Evas_Module *)im->info.module);
+ im->info.module = (void*) em;
+ im->info.loader = (void*) evas_image_load_func;
+ evas_module_ref((Evas_Module*) im->info.module);
return 0;
}
-EAPI void
-evas_common_load_image_data_from_file(RGBA_Image *im)
+int
+evas_common_load_rgba_image_data_from_file(Image_Entry *ie)
{
Evas_Image_Load_Func *evas_image_load_func = NULL;
+ RGBA_Image *im = (RGBA_Image *) ie;
- if ((im->flags & RGBA_IMAGE_LOADED) == RGBA_IMAGE_LOADED) return;
- if (!im->info.module) return;
+ if (!im->info.module) return -1;
+ if (ie->flags.loaded) return -1;
evas_image_load_func = im->info.loader;
- evas_module_use((Evas_Module *)im->info.module);
- if (!evas_image_load_func->file_data(im, im->info.file, im->info.key))
- {
- if (!im->image->data) evas_common_image_surface_alloc(im->image);
- if (!im->image->data)
- {
- const DATA32 pixel = 0xffffffff;
+ evas_module_use((Evas_Module*) im->info.module);
+ if (!evas_image_load_func->file_data(im, ie->file, ie->key))
+ return -1;
- im->image->w = 1;
- im->image->h = 1;
- im->image->data = (DATA32 *)&pixel;
- im->image->no_free = 1;
- }
- }
- else
- {
- evas_module_unref((Evas_Module *)im->info.module);
- im->info.module = NULL;
- }
- im->flags |= RGBA_IMAGE_LOADED;
+ evas_module_unref((Evas_Module*) im->info.module);
+ im->info.module = NULL;
+
+ return 0;
}
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_image_main.c,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -3 -r1.59 -r1.60
--- evas_image_main.c 14 Mar 2008 16:49:47 -0000 1.59
+++ evas_image_main.c 12 Apr 2008 00:32:25 -0000 1.60
@@ -26,28 +26,47 @@
#define EVAS_ALPHA_LINE_BUFFER_MIN_LEN 256
#define EVAS_ALPHA_LINE_BUFFER_MAX_LEN 2048
-/* The cache is doing the allocation and deallocation, you must just do the
rest. */
-static void _evas_common_image_unload(RGBA_Image* im);
-static void _evas_common_image_dirty_region(RGBA_Image* im, int x, int
y, int w, int h);
+static Image_Entry *_evas_common_rgba_image_new(void);
+static void _evas_common_rgba_image_delete(Image_Entry *ie);
+
+static int _evas_common_rgba_image_surface_alloc(Image_Entry
*ie, int w, int h);
+static void _evas_common_rgba_image_surface_delete(Image_Entry
*ie);
+
+static void _evas_common_rgba_image_unload(Image_Entry *im);
+
+static void _evas_common_rgba_image_dirty_region(Image_Entry *im,
int x, int y, int w, int h);
+
+static int _evas_common_rgba_image_ram_usage(Image_Entry *ie);
/* Only called when references > 0. Need to provide a fresh copie of im. */
/* The destination surface does have a surface, but no allocated pixel data. */
-static int _evas_common_image_dirty(RGBA_Image* dst, const
RGBA_Image* src);
+static int _evas_common_rgba_image_dirty(Image_Entry* dst, const
Image_Entry* src);
+
+static void
+_evas_common_rgba_image_debug(const char* context, Image_Entry *eim)
+{
+ fprintf(stderr, "%p = [%s] {%s,%s} %i [%i|%i]\n", eim, context, eim->file,
eim->key, eim->references, eim->w, eim->h);
+}
static const Evas_Cache_Image_Func _evas_common_image_func =
{
- evas_common_load_image_module_from_file,
- _evas_common_image_unload,
- _evas_common_image_dirty_region,
- _evas_common_image_dirty,
- evas_common_image_size_set,
- evas_common_image_from_copied_data,
- evas_common_image_from_data,
- evas_common_image_colorspace_set,
- evas_common_load_image_data_from_file,
- evas_common_image_ram_usage,
- NULL
+ _evas_common_rgba_image_new,
+ _evas_common_rgba_image_delete,
+ _evas_common_rgba_image_surface_alloc,
+ _evas_common_rgba_image_surface_delete,
+ evas_common_load_rgba_image_module_from_file,
+ _evas_common_rgba_image_unload,
+ _evas_common_rgba_image_dirty_region,
+ _evas_common_rgba_image_dirty,
+ evas_common_rgba_image_size_set,
+ evas_common_rgba_image_from_copied_data,
+ evas_common_rgba_image_from_data,
+ evas_common_rgba_image_colorspace_set,
+ evas_common_load_rgba_image_data_from_file,
+ _evas_common_rgba_image_ram_usage,
+/* _evas_common_rgba_image_debug */
+ NULL
};
EAPI void
@@ -91,22 +110,67 @@
#endif
}
-static void
-_evas_common_image_unload(RGBA_Image* im)
+static Image_Entry *
+_evas_common_rgba_image_new(void)
{
+ RGBA_Image *im;
+
+ im = calloc(1, sizeof(RGBA_Image));
+ if (!im) return NULL;
+ im->flags = RGBA_IMAGE_NOTHING;
+ im->ref = 1;
+ return &im->cache_entry;
}
static void
-_evas_common_image_dirty_region(RGBA_Image* im, int x, int y, int w, int h)
+_evas_common_rgba_image_delete(Image_Entry *ie)
{
+ RGBA_Image *im = (RGBA_Image *) ie;
+
+ evas_common_pipe_free(im);
+ if (im->info.module) evas_module_unref((Evas_Module *)im->info.module);
+ /* memset the image to 0x99 because i recently saw a segv where an
+ * seemed to be used BUT its contents were wrong - it looks like it was
+ * overwritten by something from efreet - as there was an execute command
+ * for a command there and some other signs - but to make sure, I am
+ * going to empty this struct out in case this happens again so i know
+ * that something else is overwritign this struct - or not */
+ memset(im, 0x99, sizeof(im));
+ free(im);
}
-void
-evas_common_image_delete(RGBA_Image* im)
+static int
+_evas_common_rgba_image_surface_alloc(Image_Entry *ie, int w, int h)
+{
+ RGBA_Image *im = (RGBA_Image *) ie;
+ size_t siz = 0;
+
+/* if (im->image.data) /\* return 0; *\/ */
+/* free(im->image.data); */
+
+ if (im->flags & RGBA_IMAGE_ALPHA_ONLY)
+ siz = w * h * sizeof(DATA8);
+ else
+ siz = w * h * sizeof(DATA32);
+
+ im->image.data = realloc(im->image.data, siz);
+ if (im->image.data == NULL) return -1;
+
+#ifdef HAVE_VALGRIND
+ VALGRIND_MAKE_READABLE(im->image.data, siz);
+#endif
+
+ return 0;
+}
+
+static void
+_evas_common_rgba_image_surface_delete(Image_Entry *ie)
{
- if ((im->cs.data) && (im->image->data))
+ RGBA_Image *im = (RGBA_Image *) ie;
+
+ if ((im->cs.data) && (im->image.data))
{
- if (im->cs.data != im->image->data)
+ if (im->cs.data != im->image.data)
{
if (!im->cs.no_free) free(im->cs.data);
}
@@ -115,34 +179,54 @@
{
if (!im->cs.no_free) free(im->cs.data);
}
-
im->cs.data = NULL;
- evas_common_pipe_free(im);
- if (im->image) evas_common_image_surface_free(im->image);
- if (im->info.file) evas_stringshare_del(im->info.file);
- if (im->info.key) evas_stringshare_del(im->info.key);
- if (im->info.module) evas_module_unref((Evas_Module *)im->info.module);
- /* memset the image to 0x99 because i recently saw a segv where an
- * seemed to be used BUT its contents were wrong - it looks like it was
- * overwritten by something from efreet - as there was an execute command
- * for a command there and some other signs - but to make sure, I am
- * going to empty this struct out in case this happens again so i know
- * that something else is overwritign this struct - or not */
- memset(im, 0x99, sizeof(im));
- free(im);
+
+ if (im->image.data && !im->image.no_free)
+ free(im->image.data);
+ im->image.data = NULL;
+ im->image.no_free = 1;
+}
+
+static void
+_evas_common_rgba_image_unload(Image_Entry* im)
+{
+}
+
+static void
+_evas_common_rgba_image_dirty_region(Image_Entry* im, int x, int y, int w, int
h)
+{
}
/* Only called when references > 0. Need to provide a fresh copie of im. */
static int
-_evas_common_image_dirty(RGBA_Image* dst, const RGBA_Image* src)
+_evas_common_rgba_image_dirty(Image_Entry *ie_dst, const Image_Entry *ie_src)
{
- evas_common_load_image_data_from_file(src);
+ RGBA_Image *dst = (RGBA_Image *) ie_dst;
+ RGBA_Image *src = (RGBA_Image *) ie_src;
+
+ evas_cache_image_load_data(&src->cache_entry);
+ if (_evas_common_rgba_image_surface_alloc(&dst->cache_entry,
+ src->cache_entry.w,
src->cache_entry.h))
+ return 1;
+
evas_common_image_colorspace_normalize(src);
evas_common_image_colorspace_normalize(dst);
- evas_common_image_surface_alloc(dst->image);
- evas_common_blit_rectangle(src, dst, 0, 0, src->image->w, src->image->h, 0,
0);
- evas_common_cpu_end_opt();
+/* evas_common_blit_rectangle(src, dst, 0, 0, src->cache_entry.w,
src->cache_entry.h, 0, 0); */
+/* evas_common_cpu_end_opt(); */
+
+ return 0;
+}
+
+static int
+_evas_common_rgba_image_ram_usage(Image_Entry *ie)
+{
+ RGBA_Image *im = (RGBA_Image *) ie;
+// ram += sizeof(struct _RGBA_Image);
+// if (im->info.real_file) ram += strlen(im->info.real_file);
+// if (im->info.comment) ram += strlen(im->info.comment);
+ if ((im->image.data) && (!im->image.no_free))
+ return im->cache_entry.w * im->cache_entry.h * sizeof(DATA32);
return 0;
}
@@ -212,138 +296,73 @@
}
#endif
-EAPI RGBA_Surface *
-evas_common_image_surface_new(RGBA_Image *im)
-{
- RGBA_Surface *is;
-
- is = calloc(1, sizeof(RGBA_Surface));
- is->im = im;
- return is;
-}
-
-EAPI void
-evas_common_image_surface_free(RGBA_Surface *is)
-{
- evas_common_image_surface_dealloc(is);
- free(is);
-}
-
-EAPI void
-evas_common_image_surface_alloc(RGBA_Surface *is)
-{
- size_t siz = 0;
-
- if (is->data) return ;
-
- if (is->im->flags & RGBA_IMAGE_ALPHA_ONLY)
- siz = is->w * is->h * sizeof(DATA8);
- else
- siz = is->w * is->h * sizeof(DATA32);
-
- is->data = malloc(siz);
-
-#ifdef HAVE_VALGRIND
- VALGRIND_MAKE_READABLE(is->data, siz);
-#endif
-}
-
-EAPI void
-evas_common_image_surface_dealloc(RGBA_Surface *is)
-{
- if ((is->data) && (!is->no_free))
- {
- free(is->data);
- is->data = NULL;
- }
-}
+/* EAPI void */
+/* evas_common_image_surface_dealloc(RGBA_Surface *is) */
+/* { */
+/* if ((is->data) && (!is->no_free)) */
+/* { */
+/* free(is->data); */
+/* is->data = NULL; */
+/* } */
+/* } */
-EAPI RGBA_Image *
+static RGBA_Image *
evas_common_image_create(int w, int h)
{
RGBA_Image *im;
- im = evas_common_image_new();
+ im = (RGBA_Image *) _evas_common_rgba_image_new();
if (!im) return NULL;
- im->image = evas_common_image_surface_new(im);
- if (!im->image)
- {
- evas_common_image_delete(im);
- return NULL;
- }
- im->image->w = w;
- im->image->h = h;
- evas_common_image_surface_alloc(im->image);
- if (!im->image->data)
+ im->cache_entry.w = w;
+ im->cache_entry.h = h;
+ if (_evas_common_rgba_image_surface_alloc(&im->cache_entry, w, h))
{
- evas_common_image_delete(im);
- return NULL;
+ _evas_common_rgba_image_delete(&im->cache_entry);
+ return NULL;
}
- im->flags = RGBA_IMAGE_IS_DIRTY;
- im->references = 1;
+ im->cache_entry.flags.cached = 0;
return im;
}
EAPI RGBA_Image *
evas_common_image_alpha_create(int w, int h)
{
- RGBA_Image *im;
+ RGBA_Image *im;
- im = evas_common_image_new();
+ im = (RGBA_Image *) _evas_common_rgba_image_new();
if (!im) return NULL;
- im->image = evas_common_image_surface_new(im);
- if (!im->image)
- {
- evas_common_image_delete(im);
- return NULL;
- }
- im->image->w = w;
- im->image->h = h;
+ im->cache_entry.w = w;
+ im->cache_entry.h = h;
im->flags |= RGBA_IMAGE_ALPHA_ONLY;
- evas_common_image_surface_alloc(im->image);
- if (!im->image->data)
+ if (_evas_common_rgba_image_surface_alloc(&im->cache_entry, w, h))
{
- evas_common_image_delete(im);
- return NULL;
+ _evas_common_rgba_image_delete(&im->cache_entry);
+ return NULL;
}
- im->flags = RGBA_IMAGE_IS_DIRTY;
- im->references = 1;
+ im->cache_entry.flags.cached = 0;
return im;
}
-EAPI RGBA_Image *
-evas_common_image_new(void)
-{
- RGBA_Image *im;
-
- im = calloc(1, sizeof(RGBA_Image));
- if (!im) return NULL;
- im->flags = RGBA_IMAGE_NOTHING;
- im->ref = 1;
- im->cs.space = EVAS_COLORSPACE_ARGB8888;
- return im;
-}
-
-EAPI void
+void
evas_common_image_colorspace_normalize(RGBA_Image *im)
{
if ((!im->cs.data) ||
((!im->cs.dirty) && (!(im->flags & RGBA_IMAGE_IS_DIRTY)))) return;
- switch (im->cs.space)
+ switch (im->cache_entry.space)
{
case EVAS_COLORSPACE_ARGB8888:
- if (im->image->data != im->cs.data)
+ if (im->image.data != im->cs.data)
{
- if (!im->image->no_free) free(im->image->data);
- im->image->data = im->cs.data;
- im->cs.no_free = im->image->no_free;
+ if (!im->image.no_free) free(im->image.data);
+ im->image.data = im->cs.data;
+ im->cs.no_free = im->image.no_free;
}
break;
case EVAS_COLORSPACE_YCBCR422P601_PL:
#ifdef BUILD_CONVERT_YUV
- if ((im->image->data) && (*((unsigned char **)im->cs.data)))
- evas_common_convert_yuv_420p_601_rgba(im->cs.data, (DATA8*)
im->image->data,
- im->image->w, im->image->h);
+ if ((im->image.data) && (*((unsigned char **)im->cs.data)))
+ evas_common_convert_yuv_420p_601_rgba(im->cs.data, (DATA8*)
im->image.data,
+ im->cache_entry.w,
im->cache_entry.h);
#endif
break;
default:
@@ -374,25 +393,10 @@
EAPI RGBA_Image *
evas_common_load_image_from_file(const char *file, const char *key,
RGBA_Image_Loadopts *lo)
{
- int error;
+ int error;
if (file == NULL) return NULL;
- return evas_cache_image_request(eci, file, key, lo, &error);
-}
-
-EAPI int
-evas_common_image_ram_usage(RGBA_Image *im)
-{
- int ram = 0;
-
-// ram += sizeof(struct _RGBA_Image);
-// if (im->info.file) ram += strlen(im->info.file);
-// if (im->info.real_file) ram += strlen(im->info.real_file);
-// if (im->info.key) ram += strlen(im->info.key);
-// if (im->info.comment) ram += strlen(im->info.comment);
- if ((im->image) && (im->image->data) && (!im->image->no_free))
- ram += im->image->w * im->image->h * sizeof(DATA32);
- return ram;
+ return (RGBA_Image *) evas_cache_image_request(eci, file, key, lo, &error);
}
EAPI void
@@ -438,7 +442,7 @@
EAPI void
evas_common_image_line_buffer_release(RGBA_Image *im)
{
- evas_common_image_delete(im);
+ _evas_common_rgba_image_delete(&im->cache_entry);;
/*
if (!evas_rgba_line_buffer) return;
if (EVAS_RGBA_LINE_BUFFER_MAX_LEN < evas_rgba_line_buffer->image->w)
@@ -458,7 +462,7 @@
EAPI void
evas_common_image_line_buffer_free(RGBA_Image *im)
{
- evas_common_image_delete(im);
+ _evas_common_rgba_image_delete(&im->cache_entry);;
/*
if (!evas_rgba_line_buffer) return;
evas_common_image_free(evas_rgba_line_buffer);
@@ -496,7 +500,7 @@
EAPI void
evas_common_image_alpha_line_buffer_release(RGBA_Image *im)
{
- evas_common_image_delete(im);
+ _evas_common_rgba_image_delete(&im->cache_entry);;
/*
if (!evas_alpha_line_buffer) return;
if (EVAS_ALPHA_LINE_BUFFER_MAX_LEN < evas_alpha_line_buffer->image->w)
@@ -519,11 +523,11 @@
DATA32 *s, *se;
DATA32 nas = 0;
- if (!im || !im->image || !im->image->data) return;
+ if (!im || !im->image.data) return;
if (!(im->flags & RGBA_IMAGE_HAS_ALPHA)) return;
- s = im->image->data;
- se = s + (im->image->w * im->image->h);
+ s = im->image.data;
+ se = s + (im->cache_entry.w * im->cache_entry.h);
while (s < se)
{
DATA32 a = 1 + (*s >> 24);
@@ -534,7 +538,7 @@
if ((a == 1) || (a == 256))
nas++;
}
- if ((ALPHA_SPARSE_INV_FRACTION * nas) >= (im->image->w * im->image->h))
+ if ((ALPHA_SPARSE_INV_FRACTION * nas) >= (im->cache_entry.w *
im->cache_entry.h))
im->flags |= RGBA_IMAGE_ALPHA_SPARSE;
}
@@ -544,11 +548,11 @@
DATA32 *s, *se;
DATA32 nas = 0;
- if (!im || !im->image || !im->image->data) return;
+ if (!im || !im->image.data) return;
if (!(im->flags & RGBA_IMAGE_HAS_ALPHA)) return;
- s = im->image->data;
- se = s + (im->image->w * im->image->h);
+ s = im->image.data;
+ se = s + (im->cache_entry.w * im->cache_entry.h);
while (s < se)
{
DATA32 p = *s & 0xff000000;
@@ -557,6 +561,6 @@
nas++;
s++;
}
- if ((ALPHA_SPARSE_INV_FRACTION * nas) >= (im->image->w * im->image->h))
+ if ((ALPHA_SPARSE_INV_FRACTION * nas) >= (im->cache_entry.w *
im->cache_entry.h))
im->flags |= RGBA_IMAGE_ALPHA_SPARSE;
}
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_line_main.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- evas_line_main.c 15 Nov 2006 16:44:34 -0000 1.18
+++ evas_line_main.c 12 Apr 2008 00:32:25 -0000 1.19
@@ -52,8 +52,8 @@
}
clx = cly = 0;
- clw = dst->image->w;
- clh = dst->image->h;
+ clw = dst->cache_entry.w;
+ clh = dst->cache_entry.h;
/* save out clip info */
cuse = dc->clip.use;
@@ -104,13 +104,13 @@
{
RGBA_Gfx_Pt_Func pfunc;
- if (!IN_RANGE(x, y, dst->image->w, dst->image->h))
+ if (!IN_RANGE(x, y, dst->cache_entry.w, dst->cache_entry.h))
return;
if ((dc->clip.use) && (!IN_RECT(x, y, dc->clip.x, dc->clip.y, dc->clip.w,
dc->clip.h)))
return;
pfunc = evas_common_gfx_func_composite_color_pt_get(dc->col.col, dst,
dc->render_op);
if (pfunc)
- pfunc(0, 255, dc->col.col, dst->image->data + (dst->image->w * y) + x);
+ pfunc(0, 255, dc->col.col, dst->image.data + (dst->cache_entry.w * y) +
x);
}
/*
@@ -129,7 +129,7 @@
RGBA_Gfx_Pt_Func pfunc;
RGBA_Gfx_Func sfunc;
- dstw = dst->image->w;
+ dstw = dst->cache_entry.w;
color = dc->col.col;
if (y0 > y1)
@@ -170,7 +170,7 @@
if (x1 > rx) x1 = rx;
len = x1 - x0 + 1;
- p = dst->image->data + (dstw * y0) + x0;
+ p = dst->image.data + (dstw * y0) + x0;
sfunc = evas_common_gfx_func_composite_color_span_get(color,
dst, len, dc->render_op);
if (sfunc)
sfunc(NULL, NULL, color, p, len);
@@ -190,7 +190,7 @@
if (y1 > by) y1 = by;
len = y1 - y0 + 1;
- p = dst->image->data + (dstw * y0) + x0;
+ p = dst->image.data + (dstw * y0) + x0;
while (len--)
{
#ifdef EVAS_SLI
@@ -268,7 +268,7 @@
}
if (y1 > y0)
{
- p = dst->image->data + (dstw * y0) + x0;
+ p = dst->image.data + (dstw * y0) + x0;
len = y1 - y0 + 1;
if (dx > 0) dstw++;
else dstw--;
@@ -276,7 +276,7 @@
else
{
len = y0 - y1 + 1;
- p = dst->image->data + (dstw * y1) + x1;
+ p = dst->image.data + (dstw * y1) + x1;
if (dx > 0) dstw--;
else dstw++;
}
@@ -472,8 +472,8 @@
clw = dc->clip.w;
clh = dc->clip.h;
- data = dst->image->data;
- dstw = dst->image->w;
+ data = dst->image.data;
+ dstw = dst->cache_entry.w;
data += (dstw * cly) + clx;
x0 -= clx;
@@ -579,8 +579,8 @@
clw = dc->clip.w;
clh = dc->clip.h;
- data = dst->image->data;
- dstw = dst->image->w;
+ data = dst->image.data;
+ dstw = dst->cache_entry.w;
data += (dstw * cly) + clx;
x0 -= clx;
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_pipe.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- evas_pipe.c 16 Jul 2007 07:25:33 -0000 1.9
+++ evas_pipe.c 12 Apr 2008 00:32:25 -0000 1.10
@@ -139,26 +139,26 @@
}
}
y = 0;
- h = im->image->h / thread_num;
+ h = im->cache_entry.h / thread_num;
if (h < 1) h = 1;
for (i = 0; i < thread_num; i++)
{
RGBA_Pipe_Thread_Info *info;
-// if (y >= im->image->h) break;
+// if (y >= im->cache_entry.h) break;
info = calloc(1, sizeof(RGBA_Pipe_Thread_Info));
info->im = im;
#ifdef EVAS_SLI
info->x = 0;
- info->w = im->image->w;
+ info->w = im->cache_entry.w;
info->y = i;
info->h = thread_num;
#else
info->x = 0;
info->y = y;
- info->w = im->image->w;
+ info->w = im->cache_entry.w;
if (i == (thread_num - 1))
- info->h = im->image->h - y;
+ info->h = im->cache_entry.h - y;
else
info->h = h;
y += info->h;
@@ -485,7 +485,7 @@
{
op->op.image.src->ref--;
if (op->op.image.src->ref == 0)
- evas_cache_image_drop(op->op.image.src);
+ evas_cache_image_drop(&op->op.image.src->cache_entry);
evas_common_pipe_op_free(op);
}
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_polygon_main.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- evas_polygon_main.c 15 Nov 2006 16:44:34 -0000 1.7
+++ evas_polygon_main.c 12 Apr 2008 00:32:25 -0000 1.8
@@ -134,8 +134,8 @@
ext_x = 0;
ext_y = 0;
- ext_w = dst->image->w;
- ext_h = dst->image->h;
+ ext_w = dst->cache_entry.w;
+ ext_h = dst->cache_entry.h;
if (dc->clip.use)
{
if (dc->clip.x > ext_x)
@@ -280,7 +280,7 @@
if (((span->y) % dc->sli.h) == dc->sli.y)
#endif
{
- ptr = dst->image->data + (span->y * (dst->image->w)) +
span->x;
+ ptr = dst->image.data + (span->y * (dst->cache_entry.w)) +
span->x;
func(NULL, NULL, dc->col.col, ptr, span->w);
}
}
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_rectangle_main.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- evas_rectangle_main.c 2 Oct 2007 03:40:14 -0000 1.8
+++ evas_rectangle_main.c 12 Apr 2008 00:32:25 -0000 1.9
@@ -17,11 +17,11 @@
/* handle cutouts here! */
if ((w <= 0) || (h <= 0)) return;
- if (!(RECTS_INTERSECT(x, y, w, h, 0, 0, dst->image->w, dst->image->h)))
+ if (!(RECTS_INTERSECT(x, y, w, h, 0, 0, dst->cache_entry.w,
dst->cache_entry.h)))
return;
/* save out clip info */
c = dc->clip.use; cx = dc->clip.x; cy = dc->clip.y; cw = dc->clip.w; ch =
dc->clip.h;
- evas_common_draw_context_clip_clip(dc, 0, 0, dst->image->w, dst->image->h);
+ evas_common_draw_context_clip_clip(dc, 0, 0, dst->cache_entry.w,
dst->cache_entry.h);
/* no cutouts - cut right to the chase */
if (!dc->cutout.rects)
{
@@ -58,7 +58,7 @@
if ((w <= 0) || (h <= 0)) return;
func = evas_common_gfx_func_composite_color_span_get(dc->col.col, dst, w,
dc->render_op);
- ptr = dst->image->data + (y * dst->image->w) + x;
+ ptr = dst->image.data + (y * dst->cache_entry.w) + x;
for (yy = 0; yy < h; yy++)
{
#ifdef EVAS_SLI
@@ -67,6 +67,6 @@
{
func(NULL, NULL, dc->col.col, ptr, w);
}
- ptr += dst->image->w;
+ ptr += dst->cache_entry.w;
}
}
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_scale_sample.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- evas_scale_sample.c 30 Apr 2007 03:28:05 -0000 1.10
+++ evas_scale_sample.c 12 Apr 2008 00:32:25 -0000 1.11
@@ -37,7 +37,7 @@
/* handle cutouts here! */
if ((dst_region_w <= 0) || (dst_region_h <= 0)) return;
- if (!(RECTS_INTERSECT(dst_region_x, dst_region_y, dst_region_w,
dst_region_h, 0, 0, dst->image->w, dst->image->h)))
+ if (!(RECTS_INTERSECT(dst_region_x, dst_region_y, dst_region_w,
dst_region_h, 0, 0, dst->cache_entry.w, dst->cache_entry.h)))
return;
/* no cutouts - cut right to the chase */
if (!dc->cutout.rects)
@@ -51,7 +51,7 @@
}
/* save out clip info */
c = dc->clip.use; cx = dc->clip.x; cy = dc->clip.y; cw = dc->clip.w; ch =
dc->clip.h;
- evas_common_draw_context_clip_clip(dc, 0, 0, dst->image->w, dst->image->h);
+ evas_common_draw_context_clip_clip(dc, 0, 0, dst->cache_entry.w,
dst->cache_entry.h);
evas_common_draw_context_clip_clip(dc, dst_region_x, dst_region_y,
dst_region_w, dst_region_h);
/* our clip is 0 size.. abort */
if ((dc->clip.w <= 0) || (dc->clip.h <= 0))
@@ -94,18 +94,18 @@
int src_w, src_h, dst_w, dst_h;
RGBA_Gfx_Func func;
- if (!(RECTS_INTERSECT(dst_region_x, dst_region_y, dst_region_w,
dst_region_h, 0, 0, dst->image->w, dst->image->h)))
+ if (!(RECTS_INTERSECT(dst_region_x, dst_region_y, dst_region_w,
dst_region_h, 0, 0, dst->cache_entry.w, dst->cache_entry.h)))
return;
- if (!(RECTS_INTERSECT(src_region_x, src_region_y, src_region_w,
src_region_h, 0, 0, src->image->w, src->image->h)))
+ if (!(RECTS_INTERSECT(src_region_x, src_region_y, src_region_w,
src_region_h, 0, 0, src->cache_entry.w, src->cache_entry.h)))
return;
- src_w = src->image->w;
- src_h = src->image->h;
- dst_w = dst->image->w;
- dst_h = dst->image->h;
+ src_w = src->cache_entry.w;
+ src_h = src->cache_entry.h;
+ dst_w = dst->cache_entry.w;
+ dst_h = dst->cache_entry.h;
- src_data = src->image->data;
- dst_data = dst->image->data;
+ src_data = src->image.data;
+ dst_data = dst->image.data;
if (dc->clip.use)
{
===================================================================
RCS file: /cvs/e/e17/libs/evas/src/lib/engines/common/evas_scale_smooth.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- evas_scale_smooth.c 4 Apr 2007 09:55:39 -0000 1.16
+++ evas_scale_smooth.c 12 Apr 2008 00:32:25 -0000 1.17
@@ -454,7 +454,7 @@
/* handle cutouts here! */
if ((dst_region_w <= 0) || (dst_region_h <= 0)) return;
- if (!(RECTS_INTERSECT(dst_region_x, dst_region_y, dst_region_w,
dst_region_h, 0, 0, dst->image->w, dst->image->h)))
+ if (!(RECTS_INTERSECT(dst_region_x, dst_region_y, dst_region_w,
dst_region_h, 0, 0, dst->cache_entry.w, dst->cache_entry.h)))
return;
# ifdef BUILD_MMX
evas_common_cpu_can_do(&mmx, &sse, &sse2);
@@ -482,7 +482,7 @@
}
/* save out clip info */
c = dc->clip.use; cx = dc->clip.x; cy = dc->clip.y; cw = dc->clip.w; ch =
dc->clip.h;
- evas_common_draw_context_clip_clip(dc, 0, 0, dst->image->w, dst->image->h);
+ evas_common_draw_context_clip_clip(dc, 0, 0, dst->cache_entry.w,
dst->cache_entry.h);
evas_common_draw_context_clip_clip(dc, dst_region_x, dst_region_y,
dst_region_w, dst_region_h);
/* our clip is 0 size.. abort */
if ((dc->clip.w <= 0) || (dc->clip.h <= 0))
===================================================================
RCS file:
/cvs/e/e17/libs/evas/src/lib/engines/common/evas_scale_smooth_scaler.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- evas_scale_smooth_scaler.c 30 Sep 2006 10:18:32 -0000 1.12
+++ evas_scale_smooth_scaler.c 12 Apr 2008 00:32:25 -0000 1.13
@@ -11,15 +11,15 @@
int dst_clip_x, dst_clip_y, dst_clip_w, dst_clip_h;
int src_w, src_h, dst_w, dst_h;
- if (!(RECTS_INTERSECT(dst_region_x, dst_region_y, dst_region_w,
dst_region_h, 0, 0, dst->image->w, dst->image->h)))
+ if (!(RECTS_INTERSECT(dst_region_x, dst_region_y, dst_region_w,
dst_region_h, 0, 0, dst->cache_entry.w, dst->cache_entry.h)))
return;
- if (!(RECTS_INTERSECT(src_region_x, src_region_y, src_region_w,
src_region_h, 0, 0, src->image->w, src->image->h)))
+ if (!(RECTS_INTERSECT(src_region_x, src_region_y, src_region_w,
src_region_h, 0, 0, src->cache_entry.w, src->cache_entry.h)))
return;
- src_w = src->image->w;
- src_h = src->image->h;
- dst_w = dst->image->w;
- dst_h = dst->image->h;
+ src_w = src->cache_entry.w;
+ src_h = src->cache_entry.h;
+ dst_w = dst->cache_entry.w;
+ dst_h = dst->cache_entry.h;
if (dc->clip.use)
{
@@ -141,7 +141,7 @@
dst_jump = dst_w - dst_clip_w;
/* figure out dest start ptr */
- dst_ptr = dst->image->data + dst_clip_x + (dst_clip_y * dst_w);
+ dst_ptr = dst->image.data + dst_clip_x + (dst_clip_y * dst_w);
/* FIXME:
*
===================================================================
RCS file:
/cvs/e/e17/libs/evas/src/lib/engines/common/evas_scale_smooth_scaler_down.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- evas_scale_smooth_scaler_down.c 28 Dec 2006 12:40:42 -0000 1.7
+++ evas_scale_smooth_scaler_down.c 12 Apr 2008 00:32:25 -0000 1.8
@@ -7,7 +7,7 @@
RGBA_Gfx_Func func;
- src_data = src->image->data;
+ src_data = src->image.data;
xpoints = scale_calc_x_points(src_region_w, dst_region_w);
ypoints = scale_calc_y_points(src_data, src_w, src_region_h, dst_region_h);
===================================================================
RCS file:
/cvs/e/e17/libs/evas/src/lib/engines/common/evas_scale_smooth_scaler_noscale.c,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -3 -r1.7 -r1.8
--- evas_scale_smooth_scaler_noscale.c 15 Nov 2006 16:44:34 -0000 1.7
+++ evas_scale_smooth_scaler_noscale.c 12 Apr 2008 00:32:25 -0000 1.8
@@ -5,7 +5,7 @@
int ysli = dst_clip_y;
#endif
- ptr = src->image->data + ((dst_clip_y - dst_region_y + src_region_y) *
src_w) + (dst_clip_x - dst_region_x) + src_region_x;
+ ptr = src->image.data + ((dst_clip_y - dst_region_y + src_region_y) *
src_w) + (dst_clip_x - dst_region_x) + src_region_x;
if (dc->mul.use)
func = evas_common_gfx_func_composite_pixel_color_span_get(src,
dc->mul.col, dst, dst_clip_w, dc->render_op);
else
===================================================================
RCS file:
/cvs/e/e17/libs/evas/src/lib/engines/common/evas_scale_smooth_scaler_up.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- evas_scale_smooth_scaler_up.c 28 Dec 2006 12:40:42 -0000 1.12
+++ evas_scale_smooth_scaler_up.c 12 Apr 2008 00:32:25 -0000 1.13
@@ -18,10 +18,10 @@
if (!dc->mul.use)
{
if ((dc->render_op == _EVAS_RENDER_BLEND) && !(src->flags &
RGBA_IMAGE_HAS_ALPHA))
- { direct_scale = 1; buf_step = dst->image->w; }
+ { direct_scale = 1; buf_step = dst->cache_entry.w; }
else if (dc->render_op == _EVAS_RENDER_COPY)
{
- direct_scale = 1; buf_step = dst->image->w;
+ direct_scale = 1; buf_step = dst->cache_entry.w;
if (src->flags & RGBA_IMAGE_HAS_ALPHA)
dst->flags |= RGBA_IMAGE_HAS_ALPHA;
}
@@ -61,7 +61,7 @@
#ifdef EVAS_SLI
int ysli = dst_clip_y;
#endif
- psrc = src->image->data + (src_w * (sry + cy)) + srx;
+ psrc = src->image.data + (src_w * (sry + cy)) + srx;
while (pdst < pdst_end)
{
#ifdef EVAS_SLI
@@ -117,7 +117,7 @@
}
else if (drw == srw)
{
- DATA32 *ps = src->image->data + (src_w * sry) + srx + cx;
+ DATA32 *ps = src->image.data + (src_w * sry) + srx + cx;
#ifdef EVAS_SLI
int ysli = dst_clip_y;
#endif
@@ -176,7 +176,7 @@
}
{
- DATA32 *ps = src->image->data + (src_w * sry) + srx;
+ DATA32 *ps = src->image.data + (src_w * sry) + srx;
int sxx0 = sxx;
#ifdef EVAS_SLI
int ysli = dst_clip_y;
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs