From e669037e78e1cfbe7adb3ad80dc2f80b62010a34 Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Sat, 23 Jul 2016 00:51:26 +0800 Subject: JS: Add several Image.get*() methods similar to JNI. --- source/tools/murun.c | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) (limited to 'source/tools/murun.c') diff --git a/source/tools/murun.c b/source/tools/murun.c index 80703931..99335929 100644 --- a/source/tools/murun.c +++ b/source/tools/murun.c @@ -1992,6 +1992,36 @@ static void ffi_Image_getYResolution(js_State *J) js_pushnumber(J, image->yres); } +static void ffi_Image_getNumberOfComponents(js_State *J) +{ + fz_image *image = js_touserdata(J, 0, "fz_image"); + js_pushnumber(J, image->n); +} + +static void ffi_Image_getBitsPerComponent(js_State *J) +{ + fz_image *image = js_touserdata(J, 0, "fz_image"); + js_pushnumber(J, image->bpc); +} + +static void ffi_Image_getInterpolate(js_State *J) +{ + fz_image *image = js_touserdata(J, 0, "fz_image"); + js_pushboolean(J, image->interpolate); +} + +static void ffi_Image_getImageMask(js_State *J) +{ + fz_image *image = js_touserdata(J, 0, "fz_image"); + js_pushboolean(J, image->imagemask); +} + +static void ffi_Image_getMask(js_State *J) +{ + fz_image *image = js_touserdata(J, 0, "fz_image"); + ffi_pushimage(J, image->mask); +} + static void ffi_Image_getColorSpace(js_State *J) { fz_image *image = js_touserdata(J, 0, "fz_image"); @@ -3561,6 +3591,11 @@ int murun_main(int argc, char **argv) jsB_propfun(J, "Image.getColorSpace", ffi_Image_getColorSpace, 0); jsB_propfun(J, "Image.getXResolution", ffi_Image_getXResolution, 0); jsB_propfun(J, "Image.getYResolution", ffi_Image_getYResolution, 0); + jsB_propfun(J, "Image.getNumberOfComponents", ffi_Image_getNumberOfComponents, 0); + jsB_propfun(J, "Image.getBitsPerComponent", ffi_Image_getBitsPerComponent, 0); + jsB_propfun(J, "Image.getInterpolate", ffi_Image_getInterpolate, 0); + jsB_propfun(J, "Image.getImageMask", ffi_Image_getImageMask, 0); + jsB_propfun(J, "Image.getMask", ffi_Image_getMask, 0); jsB_propfun(J, "Image.toPixmap", ffi_Image_toPixmap, 2); } js_setregistry(J, "fz_image"); -- cgit v1.2.3