summaryrefslogtreecommitdiff
path: root/platform/java/src/com
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2016-07-17 16:55:45 +0800
committerSebastian Rasmussen <sebras@gmail.com>2016-07-17 22:33:52 +0800
commitc15b5a6f0c149f24fa92d361a804035cc03357fd (patch)
tree769ed926fbdbde097f2471e4f992ac5cae3631de /platform/java/src/com
parent9500e155c7d7b1b99cc1f171c1ef3040c8023132 (diff)
downloadmupdf-c15b5a6f0c149f24fa92d361a804035cc03357fd.tar.xz
JNI: Implement document Outline.
Diffstat (limited to 'platform/java/src/com')
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/Document.java2
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/Outline.java42
2 files changed, 35 insertions, 9 deletions
diff --git a/platform/java/src/com/artifex/mupdf/fitz/Document.java b/platform/java/src/com/artifex/mupdf/fitz/Document.java
index 89e3013b..b3c42e35 100644
--- a/platform/java/src/com/artifex/mupdf/fitz/Document.java
+++ b/platform/java/src/com/artifex/mupdf/fitz/Document.java
@@ -41,7 +41,7 @@ public class Document
public native int countPages();
public native Page loadPage(int number);
- public native Outline loadOutline();
+ public native Outline[] loadOutline();
public native String getMetaData(String key);
public native boolean isReflowable();
public native void layout(float width, float height, float em);
diff --git a/platform/java/src/com/artifex/mupdf/fitz/Outline.java b/platform/java/src/com/artifex/mupdf/fitz/Outline.java
index 98a11b79..01b6554a 100644
--- a/platform/java/src/com/artifex/mupdf/fitz/Outline.java
+++ b/platform/java/src/com/artifex/mupdf/fitz/Outline.java
@@ -2,16 +2,42 @@ package com.artifex.mupdf.fitz;
public class Outline
{
- private long pointer;
+ public String title;
+ public String uri;
+ public int page;
+ public Outline down[];
- protected native void finalize();
-
- public void destroy() {
- finalize();
- pointer = 0;
+ public Outline(String title, int page, String uri, Outline[] down) {
+ this.title = title;
+ this.page = page;
+ this.uri = uri;
+ this.down = down;
}
- private Outline(long p) {
- pointer = p;
+ public String toString()
+ {
+ StringBuffer s = new StringBuffer();
+
+ s.append(page);
+ s.append(": ");
+ s.append(title);
+ s.append(' ');
+ s.append(uri);
+ s.append('\n');
+
+ if (down != null)
+ {
+ for (int i = 0; i < down.length; i++)
+ {
+ s.append('\t');
+ s.append(down[i]);
+ s.append('\n');
+ }
+ }
+
+ s.deleteCharAt(s.length() - 1);
+
+ return s.toString();
}
+
}