errr - beat me dead with a large possum - but somehow these 2 files got

swapped (in their contents) - thank god it still worked & compiled - but
well... that wasn't very good now was it? :)


SVN revision: 4104
This commit is contained in:
Carsten Haitzler 2001-01-07 21:04:32 +00:00
parent 9cf4dd7c8c
commit 38c00cc88b
2 changed files with 296 additions and 296 deletions

View File

@ -1,7 +1,6 @@
#include "evas_image_routines.h"
#include "evas_imlib_routines.h"
static void __evas_imlib_image_cache_flush(Display *disp);
static void __evas_image_image_cache_flush(Display *disp);
static int __evas_anti_alias = 1;
static Evas_List drawable_list = NULL;
@ -21,7 +20,7 @@ static int __evas_clip_a = 0;
/*****************************************************************************/
static void
__evas_imlib_image_cache_flush(Display *disp)
__evas_image_image_cache_flush(Display *disp)
{
int size;
@ -34,21 +33,21 @@ __evas_imlib_image_cache_flush(Display *disp)
/* image externals ***********************************************************/
/*****************************************************************************/
Evas_Imlib_Image *
__evas_imlib_image_new_from_file(Display *disp, char *file)
Evas_Image_Image *
__evas_image_image_new_from_file(Display *disp, char *file)
{
return (Evas_Imlib_Image *)imlib_load_image(file);
return (Evas_Image_Image *)imlib_load_image(file);
}
void
__evas_imlib_image_free(Evas_Imlib_Image *im)
__evas_image_image_free(Evas_Image_Image *im)
{
imlib_context_set_image((Imlib_Image)im);
imlib_free_image();
}
void
__evas_imlib_image_cache_empty(Display *disp)
__evas_image_image_cache_empty(Display *disp)
{
int size;
@ -58,19 +57,19 @@ __evas_imlib_image_cache_empty(Display *disp)
}
void
__evas_imlib_image_cache_set_size(Display *disp, int size)
__evas_image_image_cache_set_size(Display *disp, int size)
{
imlib_set_cache_size(size);
}
int
__evas_imlib_image_cache_get_size(Display *disp)
__evas_image_image_cache_get_size(Display *disp)
{
return imlib_get_cache_size();
}
void
__evas_imlib_image_draw(Evas_Imlib_Image *im,
__evas_image_image_draw(Evas_Image_Image *im,
Display *disp, Imlib_Image dstim, Window w, int win_w, int win_h,
int src_x, int src_y, int src_w, int src_h,
int dst_x, int dst_y, int dst_w, int dst_h,
@ -113,17 +112,17 @@ __evas_imlib_image_draw(Evas_Imlib_Image *im,
imlib_context_set_blend(1);
for(l = drawable_list; l; l = l->next)
{
Evas_Imlib_Drawable *dr;
Evas_Image_Drawable *dr;
dr = l->data;
if ((dr->win == w) && (dr->disp == disp))
if (dr->im == dstim)
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Imlib_Update *up;
Evas_Image_Update *up;
up = ll->data;
@ -138,8 +137,20 @@ __evas_imlib_image_draw(Evas_Imlib_Image *im,
__evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
imlib_context_set_image(up->image);
imlib_blend_image_onto_image(im, 0,
src_x, src_y, src_w, src_h,
@ -156,21 +167,21 @@ __evas_imlib_image_draw(Evas_Imlib_Image *im,
}
int
__evas_imlib_image_get_width(Evas_Imlib_Image *im)
__evas_image_image_get_width(Evas_Image_Image *im)
{
imlib_context_set_image((Imlib_Image)im);
return imlib_image_get_width();
}
int
__evas_imlib_image_get_height(Evas_Imlib_Image *im)
__evas_image_image_get_height(Evas_Image_Image *im)
{
imlib_context_set_image((Imlib_Image)im);
return imlib_image_get_height();
}
void
__evas_imlib_image_set_borders(Evas_Imlib_Image *im, int left, int right,
__evas_image_image_set_borders(Evas_Image_Image *im, int left, int right,
int top, int bottom)
{
Imlib_Border bd;
@ -184,7 +195,7 @@ __evas_imlib_image_set_borders(Evas_Imlib_Image *im, int left, int right,
}
void
__evas_imlib_image_set_smooth_scaling(int on)
__evas_image_image_set_smooth_scaling(int on)
{
__evas_anti_alias = on;
}
@ -223,52 +234,52 @@ __evas_imlib_image_set_smooth_scaling(int on)
/* font externals ************************************************************/
/*****************************************************************************/
Evas_Imlib_Font *
__evas_imlib_text_font_new(Display *disp, char *font, int size)
Evas_Image_Font *
__evas_image_text_font_new(Display *disp, char *font, int size)
{
char buf[4096];
sprintf(buf, "%s/%i", font, size);
return (Evas_Imlib_Font *)imlib_load_font(buf);
return (Evas_Image_Font *)imlib_load_font(buf);
}
void
__evas_imlib_text_font_free(Evas_Imlib_Font *fn)
__evas_image_text_font_free(Evas_Image_Font *fn)
{
imlib_context_set_font((Imlib_Font)fn);
imlib_free_font();
}
int
__evas_imlib_text_font_get_ascent(Evas_Imlib_Font *fn)
__evas_image_text_font_get_ascent(Evas_Image_Font *fn)
{
imlib_context_set_font((Imlib_Font)fn);
return imlib_get_font_ascent();
}
int
__evas_imlib_text_font_get_descent(Evas_Imlib_Font *fn)
__evas_image_text_font_get_descent(Evas_Image_Font *fn)
{
imlib_context_set_font((Imlib_Font)fn);
return imlib_get_font_descent();
}
int
__evas_imlib_text_font_get_max_ascent(Evas_Imlib_Font *fn)
__evas_image_text_font_get_max_ascent(Evas_Image_Font *fn)
{
imlib_context_set_font((Imlib_Font)fn);
return imlib_get_maximum_font_ascent();
}
int
__evas_imlib_text_font_get_max_descent(Evas_Imlib_Font *fn)
__evas_image_text_font_get_max_descent(Evas_Image_Font *fn)
{
imlib_context_set_font((Imlib_Font)fn);
return imlib_get_maximum_font_descent();
}
void
__evas_imlib_text_font_get_advances(Evas_Imlib_Font *fn, char *text,
__evas_image_text_font_get_advances(Evas_Image_Font *fn, char *text,
int *advance_horiz,
int *advance_vert)
{
@ -277,32 +288,32 @@ __evas_imlib_text_font_get_advances(Evas_Imlib_Font *fn, char *text,
}
int
__evas_imlib_text_font_get_first_inset(Evas_Imlib_Font *fn, char *text)
__evas_image_text_font_get_first_inset(Evas_Image_Font *fn, char *text)
{
imlib_context_set_font((Imlib_Font)fn);
return imlib_get_text_inset(text);
}
void
__evas_imlib_text_font_add_path(char *path)
__evas_image_text_font_add_path(char *path)
{
imlib_add_path_to_font_path(path);
}
void
__evas_imlib_text_font_del_path(char *path)
__evas_image_text_font_del_path(char *path)
{
imlib_remove_path_from_font_path(path);
}
char **
__evas_imlib_text_font_list_paths(int *count)
__evas_image_text_font_list_paths(int *count)
{
return imlib_list_font_path(count);
}
void
__evas_imlib_text_cache_empty(Display *disp)
__evas_image_text_cache_empty(Display *disp)
{
int size;
@ -312,19 +323,19 @@ __evas_imlib_text_cache_empty(Display *disp)
}
void
__evas_imlib_text_cache_set_size(Display *disp, int size)
__evas_image_text_cache_set_size(Display *disp, int size)
{
imlib_set_font_cache_size(size);
}
int
__evas_imlib_text_cache_get_size(Display *disp)
__evas_image_text_cache_get_size(Display *disp)
{
return imlib_get_font_cache_size();
}
void
__evas_imlib_text_draw(Evas_Imlib_Font *fn, Display *disp, Imlib_Image dstim, Window win,
__evas_image_text_draw(Evas_Image_Font *fn, Display *disp, Imlib_Image dstim, Window win,
int win_w, int win_h, int x, int y, char *text,
int cr, int cg, int cb, int ca)
{
@ -351,17 +362,17 @@ __evas_imlib_text_draw(Evas_Imlib_Font *fn, Display *disp, Imlib_Image dstim, Wi
imlib_get_text_size(text, &w, &h);
for(l = drawable_list; l; l = l->next)
{
Evas_Imlib_Drawable *dr;
Evas_Image_Drawable *dr;
dr = l->data;
if ((dr->win == win) && (dr->disp == disp))
if (dr->im == dstim)
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Imlib_Update *up;
Evas_Image_Update *up;
up = ll->data;
@ -375,8 +386,20 @@ __evas_imlib_text_draw(Evas_Imlib_Font *fn, Display *disp, Imlib_Image dstim, Wi
__evas_clip_w,
__evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
imlib_context_set_image(up->image);
imlib_text_draw(x - up->x, y - up->y, text);
}
@ -386,7 +409,7 @@ __evas_imlib_text_draw(Evas_Imlib_Font *fn, Display *disp, Imlib_Image dstim, Wi
}
void
__evas_imlib_text_get_size(Evas_Imlib_Font *fn, char *text, int *w, int *h)
__evas_image_text_get_size(Evas_Image_Font *fn, char *text, int *w, int *h)
{
if ((!fn) || (!text))
{
@ -398,7 +421,7 @@ __evas_imlib_text_get_size(Evas_Imlib_Font *fn, char *text, int *w, int *h)
}
int
__evas_imlib_text_get_character_at_pos(Evas_Imlib_Font *fn, char *text,
__evas_image_text_get_character_at_pos(Evas_Image_Font *fn, char *text,
int x, int y,
int *cx, int *cy, int *cw, int *ch)
{
@ -407,7 +430,7 @@ __evas_imlib_text_get_character_at_pos(Evas_Imlib_Font *fn, char *text,
}
void
__evas_imlib_text_get_character_number(Evas_Imlib_Font *fn, char *text,
__evas_image_text_get_character_number(Evas_Image_Font *fn, char *text,
int num,
int *cx, int *cy, int *cw, int *ch)
{
@ -443,7 +466,7 @@ __evas_imlib_text_get_character_number(Evas_Imlib_Font *fn, char *text,
/* rectangle externals *******************************************************/
/*****************************************************************************/
void __evas_imlib_rectangle_draw(Display *disp, Imlib_Image dstim, Window win,
void __evas_image_rectangle_draw(Display *disp, Imlib_Image dstim, Window win,
int win_w, int win_h,
int x, int y, int w, int h,
int cr, int cg, int cb, int ca)
@ -467,17 +490,17 @@ void __evas_imlib_rectangle_draw(Display *disp, Imlib_Image dstim,
imlib_context_set_blend(1);
for(l = drawable_list; l; l = l->next)
{
Evas_Imlib_Drawable *dr;
Evas_Image_Drawable *dr;
dr = l->data;
if ((dr->win == win) && (dr->disp == disp))
if (dr->im == dstim)
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Imlib_Update *up;
Evas_Image_Update *up;
up = ll->data;
@ -487,8 +510,20 @@ void __evas_imlib_rectangle_draw(Display *disp, Imlib_Image dstim,
{
if (__evas_clip) imlib_context_set_cliprect(__evas_clip_x - up->x, __evas_clip_y - up->y, __evas_clip_w, __evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
imlib_context_set_image(up->image);
imlib_image_fill_rectangle(x - up->x, y - up->y, w, h);
}
@ -517,7 +552,7 @@ void __evas_imlib_rectangle_draw(Display *disp, Imlib_Image dstim,
/* rectangle externals *******************************************************/
/*****************************************************************************/
void __evas_imlib_line_draw(Display *disp, Imlib_Image dstim, Window win,
void __evas_image_line_draw(Display *disp, Imlib_Image dstim, Window win,
int win_w, int win_h,
int x1, int y1, int x2, int y2,
int cr, int cg, int cb, int ca)
@ -551,17 +586,17 @@ void __evas_imlib_line_draw(Display *disp, Imlib_Image dstim, Windo
w++; h++;
for(l = drawable_list; l; l = l->next)
{
Evas_Imlib_Drawable *dr;
Evas_Image_Drawable *dr;
dr = l->data;
if ((dr->win == win) && (dr->disp == disp))
if (dr->im == dstim)
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Imlib_Update *up;
Evas_Image_Update *up;
up = ll->data;
@ -571,8 +606,20 @@ void __evas_imlib_line_draw(Display *disp, Imlib_Image dstim, Windo
{
if (__evas_clip) imlib_context_set_cliprect(__evas_clip_x - up->x, __evas_clip_y - up->y, __evas_clip_w, __evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
imlib_context_set_image(up->image);
imlib_image_draw_line(x1 - up->x, y1 - up->y, x2 - up->x, y2 - up->y, 0);
}
@ -602,17 +649,17 @@ void __evas_imlib_line_draw(Display *disp, Imlib_Image dstim, Windo
/*****************************************************************************/
Evas_Imlib_Graident *
__evas_imlib_gradient_new(Display *disp)
Evas_Image_Graident *
__evas_image_gradient_new(Display *disp)
{
Evas_Imlib_Graident *gr;
Evas_Image_Graident *gr;
gr = malloc(sizeof(Evas_Imlib_Graident));
gr = malloc(sizeof(Evas_Image_Graident));
gr->colors = NULL;
}
void
__evas_imlib_gradient_free(Evas_Imlib_Graident *gr)
__evas_image_gradient_free(Evas_Image_Graident *gr)
{
Evas_List l;
@ -628,11 +675,11 @@ __evas_imlib_gradient_free(Evas_Imlib_Graident *gr)
}
void
__evas_imlib_gradient_color_add(Evas_Imlib_Graident *gr, int r, int g, int b, int a, int dist)
__evas_image_gradient_color_add(Evas_Image_Graident *gr, int r, int g, int b, int a, int dist)
{
Evas_Imlib_Color *cl;
Evas_Image_Color *cl;
cl = malloc(sizeof(Evas_Imlib_Color));
cl = malloc(sizeof(Evas_Image_Color));
cl->r = r;
cl->g = g;
cl->b = b;
@ -642,7 +689,7 @@ __evas_imlib_gradient_color_add(Evas_Imlib_Graident *gr, int r, int g, int b, in
}
void
__evas_imlib_gradient_draw(Evas_Imlib_Graident *gr, Display *disp, Imlib_Image dstim, Window win, int win_w, int win_h, int x, int y, int w, int h, double angle)
__evas_image_gradient_draw(Evas_Image_Graident *gr, Display *disp, Imlib_Image dstim, Window win, int win_w, int win_h, int x, int y, int w, int h, double angle)
{
Evas_List l;
Imlib_Color_Range cr;
@ -661,7 +708,7 @@ __evas_imlib_gradient_draw(Evas_Imlib_Graident *gr, Display *disp, Imlib_Image d
for (l = gr->colors; l; l = l->next)
{
Evas_Imlib_Color *cl;
Evas_Image_Color *cl;
cl = l->data;
if (__evas_clip)
@ -676,17 +723,17 @@ __evas_imlib_gradient_draw(Evas_Imlib_Graident *gr, Display *disp, Imlib_Image d
}
for(l = drawable_list; l; l = l->next)
{
Evas_Imlib_Drawable *dr;
Evas_Image_Drawable *dr;
dr = l->data;
if ((dr->win == win) && (dr->disp == disp))
if (dr->im == dstim)
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Imlib_Update *up;
Evas_Image_Update *up;
up = ll->data;
@ -696,8 +743,20 @@ __evas_imlib_gradient_draw(Evas_Imlib_Graident *gr, Display *disp, Imlib_Image d
{
if (__evas_clip) imlib_context_set_cliprect(__evas_clip_x - up->x, __evas_clip_y - up->y, __evas_clip_w, __evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
imlib_context_set_image(up->image);
imlib_image_fill_color_range_rectangle(x - up->x, y - up->y, w, h, angle);
}
@ -714,7 +773,7 @@ __evas_imlib_gradient_draw(Evas_Imlib_Graident *gr, Display *disp, Imlib_Image d
/* polygons */
/************/
void
__evas_imlib_poly_draw (Display *disp, Imlib_Image dstim, Window win,
__evas_image_poly_draw (Display *disp, Imlib_Image dstim, Window win,
int win_w, int win_h,
Evas_List points,
int cr, int cg, int cb, int ca)
@ -771,17 +830,17 @@ __evas_imlib_poly_draw (Display *disp, Imlib_Image dstim, Window win,
}
for(l = drawable_list; l; l = l->next)
{
Evas_Imlib_Drawable *dr;
Evas_Image_Drawable *dr;
dr = l->data;
if ((dr->win == win) && (dr->disp == disp))
if (dr->im == dstim)
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Imlib_Update *up;
Evas_Image_Update *up;
up = ll->data;
@ -794,8 +853,20 @@ __evas_imlib_poly_draw (Display *disp, Imlib_Image dstim, Window win,
if (__evas_clip) imlib_context_set_cliprect(__evas_clip_x - up->x, __evas_clip_y - up->y, __evas_clip_w, __evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
imlib_context_set_image(up->image);
pol = imlib_polygon_new();
for (l2 = points; l2; l2 = l2->next)
@ -833,7 +904,7 @@ static Visual *__evas_visual = NULL;
static Colormap __evas_cmap = 0;
void
__evas_imlib_set_clip_rect(int on, int x, int y, int w, int h, int r, int g, int b, int a)
__evas_image_set_clip_rect(int on, int x, int y, int w, int h, int r, int g, int b, int a)
{
__evas_clip = on;
__evas_clip_x = x;
@ -847,43 +918,43 @@ __evas_imlib_set_clip_rect(int on, int x, int y, int w, int h, int r, int g, int
}
void
__evas_imlib_sync(Display *disp)
__evas_image_sync(Display *disp)
{
XSync(disp, False);
}
void
__evas_imlib_flush_draw(Display *disp, Imlib_Image dstim, Window win)
__evas_image_flush_draw(Display *disp, Imlib_Image dstim, Window win)
{
Evas_List l;
imlib_context_set_display(disp);
imlib_context_set_visual(__evas_visual);
imlib_context_set_colormap(__evas_cmap);
imlib_context_set_drawable(win);
imlib_context_set_dither(1);
imlib_context_set_blend(0);
imlib_context_set_blend(1);
for(l = drawable_list; l; l = l->next)
{
Evas_Imlib_Drawable *dr;
Evas_Image_Drawable *dr;
dr = l->data;
if ((dr->win == win) && (dr->disp == disp))
if (dr->im == dstim)
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Imlib_Update *up;
Evas_Image_Update *up;
up = ll->data;
if (up->image)
{
int w, h;
w = up->w; h = up->h;
imlib_context_set_image(dr->im);
imlib_blend_image_onto_image(up->image, 1,
0, 0, w, h,
up->x, up->y, w, h);
imlib_context_set_image(up->image);
imlib_render_image_on_drawable(up->x, up->y);
imlib_free_image();
}
free(up);
@ -899,14 +970,14 @@ __evas_imlib_flush_draw(Display *disp, Imlib_Image dstim, Window win)
}
int
__evas_imlib_capable(Display *disp)
int
__evas_image_capable(Display *disp)
{
return 1;
}
Visual *
__evas_imlib_get_visual(Display *disp, int screen)
__evas_image_get_visual(Display *disp, int screen)
{
int depth;
@ -915,26 +986,26 @@ __evas_imlib_get_visual(Display *disp, int screen)
}
XVisualInfo *
__evas_imlib_get_visual_info(Display *disp, int screen)
__evas_image_get_visual_info(Display *disp, int screen)
{
static XVisualInfo *vi = NULL;
XVisualInfo vi_template;
int n;
if (vi) return vi;
vi_template.visualid = (__evas_imlib_get_visual(disp, screen))->visualid;
vi_template.visualid = (__evas_image_get_visual(disp, screen))->visualid;
vi_template.screen = screen;
vi = XGetVisualInfo(disp, VisualIDMask | VisualScreenMask, &vi_template ,&n);
return vi;
}
Colormap
__evas_imlib_get_colormap(Display *disp, int screen)
__evas_image_get_colormap(Display *disp, int screen)
{
Visual *v;
if (__evas_cmap) return __evas_cmap;
v = __evas_imlib_get_visual(disp, screen);
v = __evas_image_get_visual(disp, screen);
__evas_cmap = DefaultColormap(disp, screen);
return __evas_cmap;
__evas_cmap = XCreateColormap(disp, RootWindow(disp, screen), v, AllocNone);
@ -942,37 +1013,35 @@ __evas_imlib_get_colormap(Display *disp, int screen)
}
void
__evas_imlib_init(Display *disp, int screen, int colors)
__evas_image_init(Display *disp, int screen, int colors)
{
static int initted = 0;
if (!initted)
{
imlib_set_color_usage(colors);
imlib_set_font_cache_size(1024 * 1024);
imlib_set_cache_size(8 * 1024 * 1024);
initted = 1;
}
imlib_set_color_usage(colors);
}
void
__evas_imlib_draw_add_rect(Display *disp, Imlib_Image dstim, Window win,
__evas_image_draw_add_rect(Display *disp, Imlib_Image dstim, Window win,
int x, int y, int w, int h)
{
Evas_List l;
for(l = drawable_list; l; l = l->next)
{
Evas_Imlib_Drawable *dr;
Evas_Image_Drawable *dr;
dr = l->data;
if ((dr->win == win) && (dr->disp == disp))
if (dr->im == dstim)
{
Evas_Imlib_Update *up;
Evas_Image_Update *up;
up = malloc(sizeof(Evas_Imlib_Update));
up = malloc(sizeof(Evas_Image_Update));
up->x = x;
up->y = y;
up->w = w;
@ -983,14 +1052,13 @@ __evas_imlib_draw_add_rect(Display *disp, Imlib_Image dstim, Window win,
return;
}
{
Evas_Imlib_Drawable *dr;
Evas_Imlib_Update *up;
Evas_Image_Drawable *dr;
Evas_Image_Update *up;
dr = malloc(sizeof(Evas_Imlib_Drawable));
dr->win = win;
dr->disp = disp;
dr = malloc(sizeof(Evas_Image_Drawable));
dr->im = dstim;
dr->tmp_images = NULL;
up = malloc(sizeof(Evas_Imlib_Update));
up = malloc(sizeof(Evas_Image_Update));
up->x = x;
up->y = y;
up->w = w;

View File

@ -1,6 +1,7 @@
#include "evas_image_routines.h"
static void __evas_image_image_cache_flush(Display *disp);
#include "evas_imlib_routines.h"
static void __evas_imlib_image_cache_flush(Display *disp);
static int __evas_anti_alias = 1;
static Evas_List drawable_list = NULL;
@ -20,7 +21,7 @@ static int __evas_clip_a = 0;
/*****************************************************************************/
static void
__evas_image_image_cache_flush(Display *disp)
__evas_imlib_image_cache_flush(Display *disp)
{
int size;
@ -33,21 +34,21 @@ __evas_image_image_cache_flush(Display *disp)
/* image externals ***********************************************************/
/*****************************************************************************/
Evas_Image_Image *
__evas_image_image_new_from_file(Display *disp, char *file)
Evas_Imlib_Image *
__evas_imlib_image_new_from_file(Display *disp, char *file)
{
return (Evas_Image_Image *)imlib_load_image(file);
return (Evas_Imlib_Image *)imlib_load_image(file);
}
void
__evas_image_image_free(Evas_Image_Image *im)
__evas_imlib_image_free(Evas_Imlib_Image *im)
{
imlib_context_set_image((Imlib_Image)im);
imlib_free_image();
}
void
__evas_image_image_cache_empty(Display *disp)
__evas_imlib_image_cache_empty(Display *disp)
{
int size;
@ -57,19 +58,19 @@ __evas_image_image_cache_empty(Display *disp)
}
void
__evas_image_image_cache_set_size(Display *disp, int size)
__evas_imlib_image_cache_set_size(Display *disp, int size)
{
imlib_set_cache_size(size);
}
int
__evas_image_image_cache_get_size(Display *disp)
__evas_imlib_image_cache_get_size(Display *disp)
{
return imlib_get_cache_size();
}
void
__evas_image_image_draw(Evas_Image_Image *im,
__evas_imlib_image_draw(Evas_Imlib_Image *im,
Display *disp, Imlib_Image dstim, Window w, int win_w, int win_h,
int src_x, int src_y, int src_w, int src_h,
int dst_x, int dst_y, int dst_w, int dst_h,
@ -112,17 +113,17 @@ __evas_image_image_draw(Evas_Image_Image *im,
imlib_context_set_blend(1);
for(l = drawable_list; l; l = l->next)
{
Evas_Image_Drawable *dr;
Evas_Imlib_Drawable *dr;
dr = l->data;
if (dr->im == dstim)
if ((dr->win == w) && (dr->disp == disp))
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Image_Update *up;
Evas_Imlib_Update *up;
up = ll->data;
@ -137,20 +138,8 @@ __evas_image_image_draw(Evas_Image_Image *im,
__evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
imlib_context_set_image(up->image);
imlib_blend_image_onto_image(im, 0,
src_x, src_y, src_w, src_h,
@ -167,21 +156,21 @@ __evas_image_image_draw(Evas_Image_Image *im,
}
int
__evas_image_image_get_width(Evas_Image_Image *im)
__evas_imlib_image_get_width(Evas_Imlib_Image *im)
{
imlib_context_set_image((Imlib_Image)im);
return imlib_image_get_width();
}
int
__evas_image_image_get_height(Evas_Image_Image *im)
__evas_imlib_image_get_height(Evas_Imlib_Image *im)
{
imlib_context_set_image((Imlib_Image)im);
return imlib_image_get_height();
}
void
__evas_image_image_set_borders(Evas_Image_Image *im, int left, int right,
__evas_imlib_image_set_borders(Evas_Imlib_Image *im, int left, int right,
int top, int bottom)
{
Imlib_Border bd;
@ -195,7 +184,7 @@ __evas_image_image_set_borders(Evas_Image_Image *im, int left, int right,
}
void
__evas_image_image_set_smooth_scaling(int on)
__evas_imlib_image_set_smooth_scaling(int on)
{
__evas_anti_alias = on;
}
@ -234,52 +223,52 @@ __evas_image_image_set_smooth_scaling(int on)
/* font externals ************************************************************/
/*****************************************************************************/
Evas_Image_Font *
__evas_image_text_font_new(Display *disp, char *font, int size)
Evas_Imlib_Font *
__evas_imlib_text_font_new(Display *disp, char *font, int size)
{
char buf[4096];
sprintf(buf, "%s/%i", font, size);
return (Evas_Image_Font *)imlib_load_font(buf);
return (Evas_Imlib_Font *)imlib_load_font(buf);
}
void
__evas_image_text_font_free(Evas_Image_Font *fn)
__evas_imlib_text_font_free(Evas_Imlib_Font *fn)
{
imlib_context_set_font((Imlib_Font)fn);
imlib_free_font();
}
int
__evas_image_text_font_get_ascent(Evas_Image_Font *fn)
__evas_imlib_text_font_get_ascent(Evas_Imlib_Font *fn)
{
imlib_context_set_font((Imlib_Font)fn);
return imlib_get_font_ascent();
}
int
__evas_image_text_font_get_descent(Evas_Image_Font *fn)
__evas_imlib_text_font_get_descent(Evas_Imlib_Font *fn)
{
imlib_context_set_font((Imlib_Font)fn);
return imlib_get_font_descent();
}
int
__evas_image_text_font_get_max_ascent(Evas_Image_Font *fn)
__evas_imlib_text_font_get_max_ascent(Evas_Imlib_Font *fn)
{
imlib_context_set_font((Imlib_Font)fn);
return imlib_get_maximum_font_ascent();
}
int
__evas_image_text_font_get_max_descent(Evas_Image_Font *fn)
__evas_imlib_text_font_get_max_descent(Evas_Imlib_Font *fn)
{
imlib_context_set_font((Imlib_Font)fn);
return imlib_get_maximum_font_descent();
}
void
__evas_image_text_font_get_advances(Evas_Image_Font *fn, char *text,
__evas_imlib_text_font_get_advances(Evas_Imlib_Font *fn, char *text,
int *advance_horiz,
int *advance_vert)
{
@ -288,32 +277,32 @@ __evas_image_text_font_get_advances(Evas_Image_Font *fn, char *text,
}
int
__evas_image_text_font_get_first_inset(Evas_Image_Font *fn, char *text)
__evas_imlib_text_font_get_first_inset(Evas_Imlib_Font *fn, char *text)
{
imlib_context_set_font((Imlib_Font)fn);
return imlib_get_text_inset(text);
}
void
__evas_image_text_font_add_path(char *path)
__evas_imlib_text_font_add_path(char *path)
{
imlib_add_path_to_font_path(path);
}
void
__evas_image_text_font_del_path(char *path)
__evas_imlib_text_font_del_path(char *path)
{
imlib_remove_path_from_font_path(path);
}
char **
__evas_image_text_font_list_paths(int *count)
__evas_imlib_text_font_list_paths(int *count)
{
return imlib_list_font_path(count);
}
void
__evas_image_text_cache_empty(Display *disp)
__evas_imlib_text_cache_empty(Display *disp)
{
int size;
@ -323,19 +312,19 @@ __evas_image_text_cache_empty(Display *disp)
}
void
__evas_image_text_cache_set_size(Display *disp, int size)
__evas_imlib_text_cache_set_size(Display *disp, int size)
{
imlib_set_font_cache_size(size);
}
int
__evas_image_text_cache_get_size(Display *disp)
__evas_imlib_text_cache_get_size(Display *disp)
{
return imlib_get_font_cache_size();
}
void
__evas_image_text_draw(Evas_Image_Font *fn, Display *disp, Imlib_Image dstim, Window win,
__evas_imlib_text_draw(Evas_Imlib_Font *fn, Display *disp, Imlib_Image dstim, Window win,
int win_w, int win_h, int x, int y, char *text,
int cr, int cg, int cb, int ca)
{
@ -362,17 +351,17 @@ __evas_image_text_draw(Evas_Image_Font *fn, Display *disp, Imlib_Image dstim, Wi
imlib_get_text_size(text, &w, &h);
for(l = drawable_list; l; l = l->next)
{
Evas_Image_Drawable *dr;
Evas_Imlib_Drawable *dr;
dr = l->data;
if (dr->im == dstim)
if ((dr->win == win) && (dr->disp == disp))
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Image_Update *up;
Evas_Imlib_Update *up;
up = ll->data;
@ -386,20 +375,8 @@ __evas_image_text_draw(Evas_Image_Font *fn, Display *disp, Imlib_Image dstim, Wi
__evas_clip_w,
__evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
imlib_context_set_image(up->image);
imlib_text_draw(x - up->x, y - up->y, text);
}
@ -409,7 +386,7 @@ __evas_image_text_draw(Evas_Image_Font *fn, Display *disp, Imlib_Image dstim, Wi
}
void
__evas_image_text_get_size(Evas_Image_Font *fn, char *text, int *w, int *h)
__evas_imlib_text_get_size(Evas_Imlib_Font *fn, char *text, int *w, int *h)
{
if ((!fn) || (!text))
{
@ -421,7 +398,7 @@ __evas_image_text_get_size(Evas_Image_Font *fn, char *text, int *w, int *h)
}
int
__evas_image_text_get_character_at_pos(Evas_Image_Font *fn, char *text,
__evas_imlib_text_get_character_at_pos(Evas_Imlib_Font *fn, char *text,
int x, int y,
int *cx, int *cy, int *cw, int *ch)
{
@ -430,7 +407,7 @@ __evas_image_text_get_character_at_pos(Evas_Image_Font *fn, char *text,
}
void
__evas_image_text_get_character_number(Evas_Image_Font *fn, char *text,
__evas_imlib_text_get_character_number(Evas_Imlib_Font *fn, char *text,
int num,
int *cx, int *cy, int *cw, int *ch)
{
@ -466,7 +443,7 @@ __evas_image_text_get_character_number(Evas_Image_Font *fn, char *text,
/* rectangle externals *******************************************************/
/*****************************************************************************/
void __evas_image_rectangle_draw(Display *disp, Imlib_Image dstim, Window win,
void __evas_imlib_rectangle_draw(Display *disp, Imlib_Image dstim, Window win,
int win_w, int win_h,
int x, int y, int w, int h,
int cr, int cg, int cb, int ca)
@ -490,17 +467,17 @@ void __evas_image_rectangle_draw(Display *disp, Imlib_Image dstim,
imlib_context_set_blend(1);
for(l = drawable_list; l; l = l->next)
{
Evas_Image_Drawable *dr;
Evas_Imlib_Drawable *dr;
dr = l->data;
if (dr->im == dstim)
if ((dr->win == win) && (dr->disp == disp))
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Image_Update *up;
Evas_Imlib_Update *up;
up = ll->data;
@ -510,20 +487,8 @@ void __evas_image_rectangle_draw(Display *disp, Imlib_Image dstim,
{
if (__evas_clip) imlib_context_set_cliprect(__evas_clip_x - up->x, __evas_clip_y - up->y, __evas_clip_w, __evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
imlib_context_set_image(up->image);
imlib_image_fill_rectangle(x - up->x, y - up->y, w, h);
}
@ -552,7 +517,7 @@ void __evas_image_rectangle_draw(Display *disp, Imlib_Image dstim,
/* rectangle externals *******************************************************/
/*****************************************************************************/
void __evas_image_line_draw(Display *disp, Imlib_Image dstim, Window win,
void __evas_imlib_line_draw(Display *disp, Imlib_Image dstim, Window win,
int win_w, int win_h,
int x1, int y1, int x2, int y2,
int cr, int cg, int cb, int ca)
@ -586,17 +551,17 @@ void __evas_image_line_draw(Display *disp, Imlib_Image dstim, Windo
w++; h++;
for(l = drawable_list; l; l = l->next)
{
Evas_Image_Drawable *dr;
Evas_Imlib_Drawable *dr;
dr = l->data;
if (dr->im == dstim)
if ((dr->win == win) && (dr->disp == disp))
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Image_Update *up;
Evas_Imlib_Update *up;
up = ll->data;
@ -606,20 +571,8 @@ void __evas_image_line_draw(Display *disp, Imlib_Image dstim, Windo
{
if (__evas_clip) imlib_context_set_cliprect(__evas_clip_x - up->x, __evas_clip_y - up->y, __evas_clip_w, __evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
imlib_context_set_image(up->image);
imlib_image_draw_line(x1 - up->x, y1 - up->y, x2 - up->x, y2 - up->y, 0);
}
@ -649,17 +602,17 @@ void __evas_image_line_draw(Display *disp, Imlib_Image dstim, Windo
/*****************************************************************************/
Evas_Image_Graident *
__evas_image_gradient_new(Display *disp)
Evas_Imlib_Graident *
__evas_imlib_gradient_new(Display *disp)
{
Evas_Image_Graident *gr;
Evas_Imlib_Graident *gr;
gr = malloc(sizeof(Evas_Image_Graident));
gr = malloc(sizeof(Evas_Imlib_Graident));
gr->colors = NULL;
}
void
__evas_image_gradient_free(Evas_Image_Graident *gr)
__evas_imlib_gradient_free(Evas_Imlib_Graident *gr)
{
Evas_List l;
@ -675,11 +628,11 @@ __evas_image_gradient_free(Evas_Image_Graident *gr)
}
void
__evas_image_gradient_color_add(Evas_Image_Graident *gr, int r, int g, int b, int a, int dist)
__evas_imlib_gradient_color_add(Evas_Imlib_Graident *gr, int r, int g, int b, int a, int dist)
{
Evas_Image_Color *cl;
Evas_Imlib_Color *cl;
cl = malloc(sizeof(Evas_Image_Color));
cl = malloc(sizeof(Evas_Imlib_Color));
cl->r = r;
cl->g = g;
cl->b = b;
@ -689,7 +642,7 @@ __evas_image_gradient_color_add(Evas_Image_Graident *gr, int r, int g, int b, in
}
void
__evas_image_gradient_draw(Evas_Image_Graident *gr, Display *disp, Imlib_Image dstim, Window win, int win_w, int win_h, int x, int y, int w, int h, double angle)
__evas_imlib_gradient_draw(Evas_Imlib_Graident *gr, Display *disp, Imlib_Image dstim, Window win, int win_w, int win_h, int x, int y, int w, int h, double angle)
{
Evas_List l;
Imlib_Color_Range cr;
@ -708,7 +661,7 @@ __evas_image_gradient_draw(Evas_Image_Graident *gr, Display *disp, Imlib_Image d
for (l = gr->colors; l; l = l->next)
{
Evas_Image_Color *cl;
Evas_Imlib_Color *cl;
cl = l->data;
if (__evas_clip)
@ -723,17 +676,17 @@ __evas_image_gradient_draw(Evas_Image_Graident *gr, Display *disp, Imlib_Image d
}
for(l = drawable_list; l; l = l->next)
{
Evas_Image_Drawable *dr;
Evas_Imlib_Drawable *dr;
dr = l->data;
if (dr->im == dstim)
if ((dr->win == win) && (dr->disp == disp))
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Image_Update *up;
Evas_Imlib_Update *up;
up = ll->data;
@ -743,20 +696,8 @@ __evas_image_gradient_draw(Evas_Image_Graident *gr, Display *disp, Imlib_Image d
{
if (__evas_clip) imlib_context_set_cliprect(__evas_clip_x - up->x, __evas_clip_y - up->y, __evas_clip_w, __evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
imlib_context_set_image(up->image);
imlib_image_fill_color_range_rectangle(x - up->x, y - up->y, w, h, angle);
}
@ -773,7 +714,7 @@ __evas_image_gradient_draw(Evas_Image_Graident *gr, Display *disp, Imlib_Image d
/* polygons */
/************/
void
__evas_image_poly_draw (Display *disp, Imlib_Image dstim, Window win,
__evas_imlib_poly_draw (Display *disp, Imlib_Image dstim, Window win,
int win_w, int win_h,
Evas_List points,
int cr, int cg, int cb, int ca)
@ -830,17 +771,17 @@ __evas_image_poly_draw (Display *disp, Imlib_Image dstim, Window win,
}
for(l = drawable_list; l; l = l->next)
{
Evas_Image_Drawable *dr;
Evas_Imlib_Drawable *dr;
dr = l->data;
if (dr->im == dstim)
if ((dr->win == win) && (dr->disp == disp))
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Image_Update *up;
Evas_Imlib_Update *up;
up = ll->data;
@ -853,20 +794,8 @@ __evas_image_poly_draw (Display *disp, Imlib_Image dstim, Window win,
if (__evas_clip) imlib_context_set_cliprect(__evas_clip_x - up->x, __evas_clip_y - up->y, __evas_clip_w, __evas_clip_h);
else imlib_context_set_cliprect(0, 0, 0, 0);
if (!up->image)
{
DATA32 *data;
up->image = imlib_create_image(up->w, up->h);
if (up->image)
{
imlib_context_set_image(up->image);
data = imlib_image_get_data();
memset(data, 0, up->w * up->h * sizeof(DATA32));
imlib_image_put_back_data(data);
imlib_image_set_has_alpha(1);
}
}
if (!up->image)
up->image = imlib_create_image(up->w, up->h);
imlib_context_set_image(up->image);
pol = imlib_polygon_new();
for (l2 = points; l2; l2 = l2->next)
@ -904,7 +833,7 @@ static Visual *__evas_visual = NULL;
static Colormap __evas_cmap = 0;
void
__evas_image_set_clip_rect(int on, int x, int y, int w, int h, int r, int g, int b, int a)
__evas_imlib_set_clip_rect(int on, int x, int y, int w, int h, int r, int g, int b, int a)
{
__evas_clip = on;
__evas_clip_x = x;
@ -918,43 +847,43 @@ __evas_image_set_clip_rect(int on, int x, int y, int w, int h, int r, int g, int
}
void
__evas_image_sync(Display *disp)
__evas_imlib_sync(Display *disp)
{
XSync(disp, False);
}
void
__evas_image_flush_draw(Display *disp, Imlib_Image dstim, Window win)
__evas_imlib_flush_draw(Display *disp, Imlib_Image dstim, Window win)
{
Evas_List l;
imlib_context_set_blend(1);
imlib_context_set_display(disp);
imlib_context_set_visual(__evas_visual);
imlib_context_set_colormap(__evas_cmap);
imlib_context_set_drawable(win);
imlib_context_set_dither(1);
imlib_context_set_blend(0);
for(l = drawable_list; l; l = l->next)
{
Evas_Image_Drawable *dr;
Evas_Imlib_Drawable *dr;
dr = l->data;
if (dr->im == dstim)
if ((dr->win == win) && (dr->disp == disp))
{
Evas_List ll;
for (ll = dr->tmp_images; ll; ll = ll->next)
{
Evas_Image_Update *up;
Evas_Imlib_Update *up;
up = ll->data;
if (up->image)
{
int w, h;
w = up->w; h = up->h;
imlib_context_set_image(dr->im);
imlib_blend_image_onto_image(up->image, 1,
0, 0, w, h,
up->x, up->y, w, h);
imlib_context_set_image(up->image);
imlib_render_image_on_drawable(up->x, up->y);
imlib_free_image();
}
free(up);
@ -970,14 +899,14 @@ __evas_image_flush_draw(Display *disp, Imlib_Image dstim, Window win)
}
int
__evas_image_capable(Display *disp)
int
__evas_imlib_capable(Display *disp)
{
return 1;
}
Visual *
__evas_image_get_visual(Display *disp, int screen)
__evas_imlib_get_visual(Display *disp, int screen)
{
int depth;
@ -986,26 +915,26 @@ __evas_image_get_visual(Display *disp, int screen)
}
XVisualInfo *
__evas_image_get_visual_info(Display *disp, int screen)
__evas_imlib_get_visual_info(Display *disp, int screen)
{
static XVisualInfo *vi = NULL;
XVisualInfo vi_template;
int n;
if (vi) return vi;
vi_template.visualid = (__evas_image_get_visual(disp, screen))->visualid;
vi_template.visualid = (__evas_imlib_get_visual(disp, screen))->visualid;
vi_template.screen = screen;
vi = XGetVisualInfo(disp, VisualIDMask | VisualScreenMask, &vi_template ,&n);
return vi;
}
Colormap
__evas_image_get_colormap(Display *disp, int screen)
__evas_imlib_get_colormap(Display *disp, int screen)
{
Visual *v;
if (__evas_cmap) return __evas_cmap;
v = __evas_image_get_visual(disp, screen);
v = __evas_imlib_get_visual(disp, screen);
__evas_cmap = DefaultColormap(disp, screen);
return __evas_cmap;
__evas_cmap = XCreateColormap(disp, RootWindow(disp, screen), v, AllocNone);
@ -1013,35 +942,37 @@ __evas_image_get_colormap(Display *disp, int screen)
}
void
__evas_image_init(Display *disp, int screen, int colors)
__evas_imlib_init(Display *disp, int screen, int colors)
{
static int initted = 0;
if (!initted)
{
imlib_set_color_usage(colors);
imlib_set_font_cache_size(1024 * 1024);
imlib_set_cache_size(8 * 1024 * 1024);
initted = 1;
}
imlib_set_color_usage(colors);
}
void
__evas_image_draw_add_rect(Display *disp, Imlib_Image dstim, Window win,
__evas_imlib_draw_add_rect(Display *disp, Imlib_Image dstim, Window win,
int x, int y, int w, int h)
{
Evas_List l;
for(l = drawable_list; l; l = l->next)
{
Evas_Image_Drawable *dr;
Evas_Imlib_Drawable *dr;
dr = l->data;
if (dr->im == dstim)
if ((dr->win == win) && (dr->disp == disp))
{
Evas_Image_Update *up;
Evas_Imlib_Update *up;
up = malloc(sizeof(Evas_Image_Update));
up = malloc(sizeof(Evas_Imlib_Update));
up->x = x;
up->y = y;
up->w = w;
@ -1052,13 +983,14 @@ __evas_image_draw_add_rect(Display *disp, Imlib_Image dstim, Window win,
return;
}
{
Evas_Image_Drawable *dr;
Evas_Image_Update *up;
Evas_Imlib_Drawable *dr;
Evas_Imlib_Update *up;
dr = malloc(sizeof(Evas_Image_Drawable));
dr->im = dstim;
dr = malloc(sizeof(Evas_Imlib_Drawable));
dr->win = win;
dr->disp = disp;
dr->tmp_images = NULL;
up = malloc(sizeof(Evas_Image_Update));
up = malloc(sizeof(Evas_Imlib_Update));
up->x = x;
up->y = y;
up->w = w;