diff options
author | Tor Andersson <tor.andersson@artifex.com> | 2016-06-23 12:33:30 +0200 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2016-06-23 16:10:29 +0100 |
commit | cf7b2cbbfe6192fbf697237735ab45bc951304e4 (patch) | |
tree | eac1231a33e79e7f8afa99d63e203b8fededecc4 /platform/java/mupdf_native.c | |
parent | 38ffc7fefeadb87929c2006d1e91394a516c3c9d (diff) | |
download | mupdf-cf7b2cbbfe6192fbf697237735ab45bc951304e4.tar.xz |
Update JNI code. Take explicit alpha argument in toPixmap functions.
Diffstat (limited to 'platform/java/mupdf_native.c')
-rw-r--r-- | platform/java/mupdf_native.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/platform/java/mupdf_native.c b/platform/java/mupdf_native.c index 0528a2fb..7530b041 100644 --- a/platform/java/mupdf_native.c +++ b/platform/java/mupdf_native.c @@ -2464,13 +2464,13 @@ FUN(Pixmap_getPixels)(JNIEnv *env, jobject self) if (ctx == NULL || pixmap == NULL) return NULL; - if (pixmap->n != 4) + if (pixmap->n != 4 || !pixmap->alpha) { - jni_throw(env, FZ_ERROR_GENERIC, "invalid colorspace for getPixels"); + jni_throw(env, FZ_ERROR_GENERIC, "invalid colorspace for getPixels (must be RGB/BGR with alpha)"); return NULL; } - if (size != pixmap->h * pixmap->stride) + if (size * 4 != pixmap->h * pixmap->stride) { jni_throw(env, FZ_ERROR_GENERIC, "invalid stride for getPixels"); return NULL; @@ -3461,7 +3461,7 @@ FUN(Page_finalize)(JNIEnv *env, jobject self) } JNIEXPORT jobject JNICALL -FUN(Page_toPixmap)(JNIEnv *env, jobject self, jobject ctm_, jobject colorspace_) +FUN(Page_toPixmap)(JNIEnv *env, jobject self, jobject ctm_, jobject colorspace_, jboolean alpha) { fz_context *ctx = get_context(env); fz_page *page = from_Page(env, self); @@ -3471,7 +3471,7 @@ FUN(Page_toPixmap)(JNIEnv *env, jobject self, jobject ctm_, jobject colorspace_) fz_pixmap *pixmap = NULL; fz_try(ctx) - pixmap = fz_new_pixmap_from_page(ctx, page, &ctm, colorspace); + pixmap = fz_new_pixmap_from_page(ctx, page, &ctm, colorspace, alpha); fz_catch(ctx) jni_rethrow(env, ctx); |