summaryrefslogtreecommitdiff
path: root/platform/java/mupdf_native.c
diff options
context:
space:
mode:
Diffstat (limited to 'platform/java/mupdf_native.c')
-rw-r--r--platform/java/mupdf_native.c23
1 files changed, 21 insertions, 2 deletions
diff --git a/platform/java/mupdf_native.c b/platform/java/mupdf_native.c
index ad8d5ccc..e835a76d 100644
--- a/platform/java/mupdf_native.c
+++ b/platform/java/mupdf_native.c
@@ -1284,7 +1284,7 @@ fz_java_device_end_tile(fz_context *ctx, fz_device *dev)
}
static void
-fz_java_device_drop_imp(fz_context *ctx, fz_device *dev)
+fz_java_device_close(fz_context *ctx, fz_device *dev)
{
fz_java_device *jdev = (fz_java_device *)dev;
JNIEnv *env = jdev->env;
@@ -1303,7 +1303,7 @@ static fz_device *fz_new_java_device(fz_context *ctx, JNIEnv *env, jobject self)
dev->self = (*env)->NewGlobalRef(env, self);
- dev->super.drop_imp = fz_java_device_drop_imp;
+ dev->super.close = fz_java_device_close;
dev->super.fill_path = fz_java_device_fill_path;
dev->super.stroke_path = fz_java_device_stroke_path;
@@ -1446,6 +1446,25 @@ FUN(NativeDevice_finalize)(JNIEnv *env, jobject self)
}
JNIEXPORT void JNICALL
+FUN(NativeDevice_close)(JNIEnv *env, jobject self)
+{
+ fz_context *ctx = get_context(env);
+ fz_device *dev = from_Device(env, self, ctx);
+ NativeDeviceInfo *info;
+
+ if (ctx == NULL || dev == NULL)
+ return;
+
+ info = lockNativeDevice(env, self);
+ fz_try(ctx)
+ fz_close_device(ctx, dev);
+ fz_always(ctx)
+ unlockNativeDevice(env, info);
+ fz_catch(ctx)
+ jni_rethrow(env, ctx);
+}
+
+JNIEXPORT void JNICALL
FUN(NativeDevice_fillPath)(JNIEnv *env, jobject self, jobject jpath, jboolean even_odd, jobject jctm, jobject jcs, jfloatArray jcolor, float alpha)
{
fz_context *ctx = get_context(env);