summaryrefslogtreecommitdiff
path: root/platform/java
diff options
context:
space:
mode:
authorFred Ross-Perry <fred.ross-perry@artifex.com>2018-10-26 08:52:54 -0700
committerFred Ross-Perry <fred.ross-perry@artifex.com>2018-10-26 08:54:23 -0700
commit82faf2d5da25a509636689e62ea7765d0d5c5a8f (patch)
treef5efb0d9c7e5a3d92a76c2a7757ace7733de2b7d /platform/java
parentb3ceba9fa1d19c1004aec38b0a8870154a865ea4 (diff)
downloadmupdf-82faf2d5da25a509636689e62ea7765d0d5c5a8f.tar.xz
Fix Page.search() to return a Quad[], not a Rect[].
Fix DisplayList.search() to return a Quad[], not a Rect[]. Add a Rect constructor that takes a Quad. Modify the sample Java viewer accordingly. This is necessary to (partially) fix SmartOffice bug #700031.
Diffstat (limited to 'platform/java')
-rw-r--r--platform/java/example/Viewer.java4
-rw-r--r--platform/java/mupdf_native.h4
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/DisplayList.java2
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/Page.java2
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/Rect.java8
5 files changed, 14 insertions, 6 deletions
diff --git a/platform/java/example/Viewer.java b/platform/java/example/Viewer.java
index e9a24eae..29012d50 100644
--- a/platform/java/example/Viewer.java
+++ b/platform/java/example/Viewer.java
@@ -32,7 +32,7 @@ public class Viewer extends Frame implements WindowListener, ActionListener, Ite
protected TextField searchField;
protected Button searchPrevButton, searchNextButton;
protected int searchHitPage = -1;
- protected Rect searchHits[];
+ protected Quad searchHits[];
protected List outlineList;
protected Vector<Outline> flatOutline;
@@ -319,7 +319,7 @@ public class Viewer extends Frame implements WindowListener, ActionListener, Ite
int oldPageNumber = pageNumber;
int oldLayoutEm = layoutEm;
int oldZoomLevel = zoomLevel;
- Rect[] oldSearchHits = searchHits;
+ Quad[] oldSearchHits = searchHits;
if (source == firstButton)
pageNumber = 0;
diff --git a/platform/java/mupdf_native.h b/platform/java/mupdf_native.h
index fe318382..ed6fa588 100644
--- a/platform/java/mupdf_native.h
+++ b/platform/java/mupdf_native.h
@@ -456,7 +456,7 @@ JNIEXPORT jobject JNICALL Java_com_artifex_mupdf_fitz_DisplayList_toStructuredTe
/*
* Class: com_artifex_mupdf_fitz_DisplayList
* Method: search
- * Signature: (Ljava/lang/String;)[Lcom/artifex/mupdf/fitz/Rect;
+ * Signature: (Ljava/lang/String;)[Lcom/artifex/mupdf/fitz/Quad;
*/
JNIEXPORT jobjectArray JNICALL Java_com_artifex_mupdf_fitz_DisplayList_search
(JNIEnv *, jobject, jstring);
@@ -2441,7 +2441,7 @@ JNIEXPORT jobject JNICALL Java_com_artifex_mupdf_fitz_Page_toStructuredText
/*
* Class: com_artifex_mupdf_fitz_Page
* Method: search
- * Signature: (Ljava/lang/String;)[Lcom/artifex/mupdf/fitz/Rect;
+ * Signature: (Ljava/lang/String;)[Lcom/artifex/mupdf/fitz/Quad;
*/
JNIEXPORT jobjectArray JNICALL Java_com_artifex_mupdf_fitz_Page_search
(JNIEnv *, jobject, jstring);
diff --git a/platform/java/src/com/artifex/mupdf/fitz/DisplayList.java b/platform/java/src/com/artifex/mupdf/fitz/DisplayList.java
index 5b64583f..f44d5321 100644
--- a/platform/java/src/com/artifex/mupdf/fitz/DisplayList.java
+++ b/platform/java/src/com/artifex/mupdf/fitz/DisplayList.java
@@ -32,7 +32,7 @@ public class DisplayList
return toStructuredText(null);
}
- public native Rect[] search(String needle);
+ public native Quad[] search(String needle);
public native void run(Device dev, Matrix ctm, Rect scissor, Cookie cookie);
diff --git a/platform/java/src/com/artifex/mupdf/fitz/Page.java b/platform/java/src/com/artifex/mupdf/fitz/Page.java
index d225914a..b9218683 100644
--- a/platform/java/src/com/artifex/mupdf/fitz/Page.java
+++ b/platform/java/src/com/artifex/mupdf/fitz/Page.java
@@ -43,7 +43,7 @@ public class Page
return toStructuredText(null);
}
- public native Rect[] search(String needle);
+ public native Quad[] search(String needle);
public native byte[] textAsHtml();
diff --git a/platform/java/src/com/artifex/mupdf/fitz/Rect.java b/platform/java/src/com/artifex/mupdf/fitz/Rect.java
index db137490..125df06c 100644
--- a/platform/java/src/com/artifex/mupdf/fitz/Rect.java
+++ b/platform/java/src/com/artifex/mupdf/fitz/Rect.java
@@ -24,6 +24,14 @@ public class Rect
this.y1 = y1;
}
+ public Rect(Quad q)
+ {
+ this.x0 = q.ll_x;
+ this.y0 = q.ll_y;
+ this.x1 = q.ur_x;
+ this.y1 = q.ur_y;
+ }
+
public Rect(Rect r)
{
this(r.x0, r.y0, r.x1, r.y1);