diff options
author | Fred Ross-Perry <fred.ross-perry@artifex.com> | 2017-10-24 16:34:10 -0700 |
---|---|---|
committer | Tor Andersson <tor.andersson@artifex.com> | 2017-11-22 23:09:51 +0100 |
commit | c148ecf6d26b8c79965737632be8e33ae3bdaa6d (patch) | |
tree | 11581e2c7a3e586efd491c501fadfc9707f666de | |
parent | 954dddcd5704c93c5fa5858a065d0c7d41c1ed00 (diff) | |
download | mupdf-c148ecf6d26b8c79965737632be8e33ae3bdaa6d.tar.xz |
jni: Put destination coordinates into Outline object.
-rw-r--r-- | platform/java/mupdf_native.c | 8 | ||||
-rw-r--r-- | platform/java/src/com/artifex/mupdf/fitz/Outline.java | 6 |
2 files changed, 10 insertions, 4 deletions
diff --git a/platform/java/mupdf_native.c b/platform/java/mupdf_native.c index c9b76258..b4a09a0e 100644 --- a/platform/java/mupdf_native.c +++ b/platform/java/mupdf_native.c @@ -495,7 +495,7 @@ static int find_fids(JNIEnv *env) fid_NativeDevice_nativeInfo = get_field(&err, env, "nativeInfo", "J"); cls_Outline = get_class(&err, env, PKG"Outline"); - mid_Outline_init = get_method(&err, env, "<init>", "(Ljava/lang/String;ILjava/lang/String;[L"PKG"Outline;)V"); + mid_Outline_init = get_method(&err, env, "<init>", "(Ljava/lang/String;ILjava/lang/String;FF[L"PKG"Outline;)V"); cls_Page = get_class(&err, env, PKG"Page"); fid_Page_pointer = get_field(&err, env, "pointer", "J"); @@ -1232,6 +1232,8 @@ static inline jobject to_Outline_safe(fz_context *ctx, JNIEnv *env, fz_document jint jpage = -1; jstring juri = NULL; jobject jdown = NULL; + float x = 0; + float y = 0; if (outline->title) { @@ -1247,7 +1249,7 @@ static inline jobject to_Outline_safe(fz_context *ctx, JNIEnv *env, fz_document if (!juri) return NULL; } else - jpage = fz_resolve_link(ctx, doc, outline->uri, NULL, NULL); + jpage = fz_resolve_link(ctx, doc, outline->uri, &x, &y); } if (outline->down) @@ -1256,7 +1258,7 @@ static inline jobject to_Outline_safe(fz_context *ctx, JNIEnv *env, fz_document if (!jdown) return NULL; } - joutline = (*env)->NewObject(env, cls_Outline, mid_Outline_init, jtitle, jpage, juri, jdown); + joutline = (*env)->NewObject(env, cls_Outline, mid_Outline_init, jtitle, jpage, juri, x, y, jdown); if (!joutline) return NULL; if (jdown) diff --git a/platform/java/src/com/artifex/mupdf/fitz/Outline.java b/platform/java/src/com/artifex/mupdf/fitz/Outline.java index 01b6554a..eb30482e 100644 --- a/platform/java/src/com/artifex/mupdf/fitz/Outline.java +++ b/platform/java/src/com/artifex/mupdf/fitz/Outline.java @@ -6,12 +6,16 @@ public class Outline public String uri; public int page; public Outline down[]; + public float x; + public float y; - public Outline(String title, int page, String uri, Outline[] down) { + public Outline(String title, int page, String uri, float x, float y, Outline[] down) { this.title = title; this.page = page; this.uri = uri; this.down = down; + this.x = x; + this.y = y; } public String toString() |