From 94828db44ec15a67fee5bee093a6353eb6ecb66b Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Fri, 11 May 2001 07:22:40 +0000 Subject: [PATCH] add a color clearer too SVN revision: 4762 --- src/Imlib2.h | 3 ++- src/api.c | 23 ++++++++++++++++++++++- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/src/Imlib2.h b/src/Imlib2.h index 1072eca..634403c 100644 --- a/src/Imlib2.h +++ b/src/Imlib2.h @@ -465,7 +465,8 @@ extern "C" void imlib_apply_filter(char *script, ...); - void imlib_clear_image(void); + void imlib_image_clear(void); + void imlib_image_clear_color(int r, int g, int b, int a); #ifdef __cplusplus } diff --git a/src/api.c b/src/api.c index 79f2297..c4d2142 100644 --- a/src/api.c +++ b/src/api.c @@ -4255,7 +4255,7 @@ imlib_polygon_contains_point(ImlibPolygon poly, int x, int y) } void -imlib_clear_image(void) +imlib_image_clear(void) { ImlibImage *im; @@ -4270,3 +4270,24 @@ imlib_clear_image(void) __imlib_DirtyPixmapsForImage(im); memset(im->data, 0, im->w * im->h * sizeof(DATA32)); } + +void +imlib_image_clear_color(int r, int g, int b, int a) +{ + ImlibImage *im; + int i, max; + DATA32 col; + + if (!ctx) ctx = imlib_context_new(); + CHECK_PARAM_POINTER("imlib_fill_ellipse", "image", ctx->image); + CAST_IMAGE(im, ctx->image); + if ((!(im->data)) && (im->loader) && (im->loader->load)) + im->loader->load(im, NULL, 0, 1); + if (!(im->data)) + return; + __imlib_DirtyImage(im); + __imlib_DirtyPixmapsForImage(im); + max = im->w * im->h; + WRITE_RGBA(&col, r, g, b, a); + for (i = 0; i < max; i++) im->data[i] = col; +}