summaryrefslogtreecommitdiff
path: root/platform
diff options
context:
space:
mode:
authorFred Ross-Perry <fred.ross-perry@artifex.com>2017-10-24 16:34:10 -0700
committerTor Andersson <tor.andersson@artifex.com>2017-11-22 23:09:51 +0100
commitc148ecf6d26b8c79965737632be8e33ae3bdaa6d (patch)
tree11581e2c7a3e586efd491c501fadfc9707f666de /platform
parent954dddcd5704c93c5fa5858a065d0c7d41c1ed00 (diff)
downloadmupdf-c148ecf6d26b8c79965737632be8e33ae3bdaa6d.tar.xz
jni: Put destination coordinates into Outline object.
Diffstat (limited to 'platform')
-rw-r--r--platform/java/mupdf_native.c8
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/Outline.java6
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()