summaryrefslogtreecommitdiff
path: root/platform/java
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2018-03-25 17:35:50 +0800
committerSebastian Rasmussen <sebras@gmail.com>2018-04-05 00:37:52 +0800
commit699c85ae3b04a5bfb4d6fa68e7ca4d15d3c794a2 (patch)
tree8b118fe9d9cf406adb5bb33e198b0be65e39fa07 /platform/java
parentb8c30529b5c703e72448e8877af7cef9dcaad837 (diff)
downloadmupdf-699c85ae3b04a5bfb4d6fa68e7ca4d15d3c794a2.tar.xz
jni: Expose interfaces for setting gamma and inverting pixmaps.
Diffstat (limited to 'platform/java')
-rw-r--r--platform/java/mupdf_native.c28
-rw-r--r--platform/java/mupdf_native.h16
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/Pixmap.java2
3 files changed, 46 insertions, 0 deletions
diff --git a/platform/java/mupdf_native.c b/platform/java/mupdf_native.c
index 8af0b8a4..8d811afe 100644
--- a/platform/java/mupdf_native.c
+++ b/platform/java/mupdf_native.c
@@ -3816,6 +3816,34 @@ FUN(Pixmap_getYResolution)(JNIEnv *env, jobject self)
return pixmap ? pixmap->yres : 0;
}
+JNIEXPORT void JNICALL
+FUN(Pixmap_invert)(JNIEnv *env, jobject self)
+{
+ fz_context *ctx = get_context(env);
+ fz_pixmap *pixmap = from_Pixmap(env, self);
+
+ if (!ctx || !pixmap) return;
+
+ fz_try(ctx)
+ fz_invert_pixmap(ctx, pixmap);
+ fz_catch(ctx)
+ jni_rethrow(env, ctx);
+}
+
+JNIEXPORT void JNICALL
+FUN(Pixmap_gamma)(JNIEnv *env, jobject self, jfloat gamma)
+{
+ fz_context *ctx = get_context(env);
+ fz_pixmap *pixmap = from_Pixmap(env, self);
+
+ if (!ctx || !pixmap) return;
+
+ fz_try(ctx)
+ fz_gamma_pixmap(ctx, pixmap, gamma);
+ fz_catch(ctx)
+ jni_rethrow(env, ctx);
+}
+
/* Path Interface */
JNIEXPORT void JNICALL
diff --git a/platform/java/mupdf_native.h b/platform/java/mupdf_native.h
index 36807a0a..22fdc04a 100644
--- a/platform/java/mupdf_native.h
+++ b/platform/java/mupdf_native.h
@@ -2865,6 +2865,22 @@ JNIEXPORT jint JNICALL Java_com_artifex_mupdf_fitz_Pixmap_getXResolution
JNIEXPORT jint JNICALL Java_com_artifex_mupdf_fitz_Pixmap_getYResolution
(JNIEnv *, jobject);
+/*
+ * Class: com_artifex_mupdf_fitz_Pixmap
+ * Method: invert
+ * Signature: ()V
+ */
+JNIEXPORT void JNICALL Java_com_artifex_mupdf_fitz_Pixmap_invert
+ (JNIEnv *, jobject);
+
+/*
+ * Class: com_artifex_mupdf_fitz_Pixmap
+ * Method: gamma
+ * Signature: (F)V
+ */
+JNIEXPORT void JNICALL Java_com_artifex_mupdf_fitz_Pixmap_gamma
+ (JNIEnv *, jobject, jfloat);
+
#ifdef __cplusplus
}
#endif
diff --git a/platform/java/src/com/artifex/mupdf/fitz/Pixmap.java b/platform/java/src/com/artifex/mupdf/fitz/Pixmap.java
index 1616b90b..5c3552e0 100644
--- a/platform/java/src/com/artifex/mupdf/fitz/Pixmap.java
+++ b/platform/java/src/com/artifex/mupdf/fitz/Pixmap.java
@@ -66,6 +66,8 @@ public class Pixmap
public native int[] getPixels(); /* only valid for RGBA or BGRA pixmaps */
public native int getXResolution();
public native int getYResolution();
+ public native void invert();
+ public native void gamma(float gamma);
public Rect getBounds() {
int x = getX();