From c196148fb2fd001a16434c46427d7651e5abb7f2 Mon Sep 17 00:00:00 2001 From: scuri Date: Wed, 26 May 2010 18:29:48 +0000 Subject: # Fixed: image:HasAlpha() method in Lua was returning a number instead of a boolean, so im.ImageCreateBased was adding an alpha channel to all new images. --- html/en/history.html | 5 +++++ include/im_image.h | 2 +- src/lua5/imlua_image.c | 8 ++++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/html/en/history.html b/html/en/history.html index 1b815be..f25b10f 100644 --- a/html/en/history.html +++ b/html/en/history.html @@ -21,6 +21,11 @@
  • Changed: ICON format now supports writing up to 10 images.
  • +
  • + Fixed: image:HasAlpha() method in + Lua was returning a number instead of a boolean, so im.ImageCreateBased + was adding an alpha channel to all new images.
  • Version 3.6.1 (23/Apr/2010)

    diff --git a/include/im_image.h b/include/im_image.h index 6a325c1..e795479 100644 --- a/include/im_image.h +++ b/include/im_image.h @@ -41,7 +41,7 @@ typedef struct _imImage int height; /**< Number of lines. image:Height() -> height: number [in Lua 5]. */ int color_space; /**< Color space descriptor. See also \ref imColorSpace. image:ColorSpace() -> color_space: number [in Lua 5]. */ int data_type; /**< Data type descriptor. See also \ref imDataType. image:DataType() -> data_type: number [in Lua 5]. */ - int has_alpha; /**< Indicates that there is an extra channel with alpha. image:HasAlpha() -> has_alpha: number [in Lua 5]. \n + int has_alpha; /**< Indicates that there is an extra channel with alpha. image:HasAlpha() -> has_alpha: boolean [in Lua 5]. \n It will not affect the secondary parameters, i.e. the number of planes will be in fact depth+1. \n It is always 0 unless imImageAddAlpha is called, this is done in image load functions. */ diff --git a/src/lua5/imlua_image.c b/src/lua5/imlua_image.c index 9900e7d..a95007e 100644 --- a/src/lua5/imlua_image.c +++ b/src/lua5/imlua_image.c @@ -2,7 +2,7 @@ * \brief IM Lua 5 Binding * * See Copyright Notice in im_lib.h - * $Id: imlua_image.c,v 1.9 2010/01/17 18:18:12 scuri Exp $ + * $Id: imlua_image.c,v 1.10 2010/05/26 18:29:49 scuri Exp $ */ #include @@ -674,7 +674,7 @@ static int imluaImageColorSpace(lua_State *L) static int imluaImageHasAlpha(lua_State *L) { imImage *im = imlua_checkimage(L, 1); - lua_pushnumber(L, im->has_alpha); + lua_pushboolean(L, im->has_alpha); return 1; } @@ -785,14 +785,14 @@ static int imluaImage_tostring (lua_State *L) if (*image_p) { imImage *image = *image_p; - lua_pushfstring(L, "imImage(%p) [width=%d,height=%d,color_space=%s,data_type=%s,depth=%d,has_alpha=%d]", + lua_pushfstring(L, "imImage(%p) [width=%d,height=%d,color_space=%s,data_type=%s,depth=%d,has_alpha=%s]", image_p, image->width, image->height, imColorModeSpaceName(image->color_space), imDataTypeName(image->data_type), image->depth, - image->has_alpha + image->has_alpha? "yes": "no" ); } else -- cgit v1.2.3