From: Tony Cook <tony@develop-help.com> Date: Mon, 6 Aug 2012 01:48:23 +0000 (+1000) Subject: re-work the context macros X-Git-Tag: v0.93_02~71 X-Git-Url: http://git.imager.perl.org/imager.git/commitdiff_plain/768dd2c8918bee69f8f084213d77ad1c8f59944e re-work the context macros --- diff --git a/immacros.h b/immacros.h index 6d7cc75b..7b9d866a 100644 --- a/immacros.h +++ b/immacros.h @@ -128,17 +128,17 @@ returns -1 and pushes an error. #define i_img_type(im) ((im)->type) #define i_img_bits(im) ((im)->bits) +#define pIMCTX im_context_t my_im_ctx + #ifdef IMAGER_NO_CONTEXT -#define dIMCTX im_context_t my_im_ctx = im_get_context() -#define dIMCTXa(a) im_context_t my_im_ctx = im_get_context() -#define dIMCTXim(im) im_context_t my_im_ctx = (im)->context +#define dIMCTXctx(ctx) pIMCTX = (ctx) +#define dIMCTX dIMCTXctx(im_get_context()) +#define dIMCTXim(im) dIMCTXctx((im)->context) #define aIMCTX my_im_ctx #else #define aIMCTX im_get_context() #endif -#define pIMCTX im_context_t my_im_ctx - #define i_img_8_new(xsize, ysize, channels) im_img_8_new(aIMCTX, (xsize), (ysize), (channels)) #define i_img_16_new(xsize, ysize, channels) im_img_16_new(aIMCTX, (xsize), (ysize), (channels)) #define i_img_double_new(xsize, ysize, channels) im_img_double_new(aIMCTX, (xsize), (ysize), (channels))