summaryrefslogtreecommitdiff
path: root/platform/java
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2016-10-26 23:13:54 +0800
committerSebastian Rasmussen <sebras@gmail.com>2016-10-26 23:15:08 +0800
commitde085341deeb2b279b9afb72b03e1d7a097a7b0a (patch)
tree1aaa778c2a7ea73918a64984f252f3ef5175a9e5 /platform/java
parent841c430955132c747f61b9baed3baa17257ab585 (diff)
downloadmupdf-de085341deeb2b279b9afb72b03e1d7a097a7b0a.tar.xz
Update ios/android to use new way of passion stext options.
In addition, make all callers passing 0 as a point pass NULL instead.
Diffstat (limited to 'platform/java')
-rw-r--r--platform/java/mupdf_native.c36
-rw-r--r--platform/java/mupdf_native.h8
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/DisplayList.java2
-rw-r--r--platform/java/src/com/artifex/mupdf/fitz/Page.java2
4 files changed, 36 insertions, 12 deletions
diff --git a/platform/java/mupdf_native.c b/platform/java/mupdf_native.c
index cab67471..e2191c0d 100644
--- a/platform/java/mupdf_native.c
+++ b/platform/java/mupdf_native.c
@@ -4636,24 +4636,36 @@ FUN(Page_toDisplayList)(JNIEnv *env, jobject self, jboolean no_annotations)
}
JNIEXPORT jobject JNICALL
-FUN(Page_toStructuredText)(JNIEnv *env, jobject self, jint joptions)
+FUN(Page_toStructuredText)(JNIEnv *env, jobject self, jstring joptions)
{
fz_context *ctx = get_context(env);
fz_page *page = from_Page(env, self);
fz_stext_sheet *sheet = NULL;
fz_stext_page *text = NULL;
+ const char *options= NULL;
+ fz_stext_options opts;
if (!ctx || !page) return NULL;
+ if (joptions)
+ {
+ options = (*env)->GetStringUTFChars(env, joptions, NULL);
+ if (!options) return NULL;
+ }
+
fz_var(sheet);
fz_try(ctx)
{
sheet = fz_new_stext_sheet(ctx);
- text = fz_new_stext_page_from_page(ctx, page, sheet, joptions);
+ fz_parse_stext_options(ctx, &opts, options);
+ text = fz_new_stext_page_from_page(ctx, page, sheet, &opts);
}
fz_always(ctx)
+ {
fz_drop_stext_sheet(ctx, sheet);
+ (*env)->ReleaseStringUTFChars(env, joptions, options);
+ }
fz_catch(ctx)
{
jni_rethrow(env, ctx);
@@ -4691,7 +4703,7 @@ FUN(Page_textAsHtml)(JNIEnv *env, jobject self)
ctm = fz_identity;
sheet = fz_new_stext_sheet(ctx);
text = fz_new_stext_page(ctx, fz_bound_page(ctx, page, &mediabox));
- dev = fz_new_stext_device(ctx, sheet, text, 0);
+ dev = fz_new_stext_device(ctx, sheet, text, NULL);
fz_run_page(ctx, page, dev, &ctm, NULL);
fz_close_device(ctx, dev);
@@ -4869,24 +4881,36 @@ FUN(DisplayList_toPixmap)(JNIEnv *env, jobject self, jobject jctm, jobject jcs,
}
JNIEXPORT jobject JNICALL
-FUN(DisplayList_toStructuredText)(JNIEnv *env, jobject self, jint joptions)
+FUN(DisplayList_toStructuredText)(JNIEnv *env, jobject self, jstring joptions)
{
fz_context *ctx = get_context(env);
fz_display_list *list = from_DisplayList(env, self);
fz_stext_sheet *sheet = NULL;
fz_stext_page *text = NULL;
+ const char *options= NULL;
+ fz_stext_options opts;
if (!ctx || !list) return NULL;
+ if (joptions)
+ {
+ options = (*env)->GetStringUTFChars(env, joptions, NULL);
+ if (!options) return NULL;
+ }
+
fz_var(sheet);
fz_try(ctx)
{
sheet = fz_new_stext_sheet(ctx);
- text = fz_new_stext_page_from_display_list(ctx, list, sheet, joptions);
+ fz_parse_stext_options(ctx, &opts, options);
+ text = fz_new_stext_page_from_display_list(ctx, list, sheet, &opts);
}
fz_always(ctx)
+ {
fz_drop_stext_sheet(ctx, sheet);
+ (*env)->ReleaseStringUTFChars(env, joptions, options);
+ }
fz_catch(ctx)
{
jni_rethrow(env, ctx);
@@ -4909,7 +4933,7 @@ FUN(DisplayList_search)(JNIEnv *env, jobject self, jstring jneedle)
if (!jneedle) { jni_throw_arg(env, "needle must not be null"); return NULL; }
needle = (*env)->GetStringUTFChars(env, jneedle, NULL);
- if (!needle) return 0;
+ if (!needle) return NULL;
fz_try(ctx)
n = fz_search_display_list(ctx, list, needle, hits, nelem(hits));
diff --git a/platform/java/mupdf_native.h b/platform/java/mupdf_native.h
index de2b35ce..c572b6bd 100644
--- a/platform/java/mupdf_native.h
+++ b/platform/java/mupdf_native.h
@@ -478,10 +478,10 @@ JNIEXPORT jobject JNICALL Java_com_artifex_mupdf_fitz_DisplayList_toPixmap
/*
* Class: com_artifex_mupdf_fitz_DisplayList
* Method: toStructuredText
- * Signature: (I)Lcom/artifex/mupdf/fitz/StructuredText;
+ * Signature: (Ljava/lang/String;)Lcom/artifex/mupdf/fitz/StructuredText;
*/
JNIEXPORT jobject JNICALL Java_com_artifex_mupdf_fitz_DisplayList_toStructuredText
- (JNIEnv *, jobject, jint);
+ (JNIEnv *, jobject, jstring);
/*
* Class: com_artifex_mupdf_fitz_DisplayList
@@ -2120,10 +2120,10 @@ JNIEXPORT jobject JNICALL Java_com_artifex_mupdf_fitz_Page_toDisplayList
/*
* Class: com_artifex_mupdf_fitz_Page
* Method: toStructuredText
- * Signature: (I)Lcom/artifex/mupdf/fitz/StructuredText;
+ * Signature: (Ljava/lang/String;)Lcom/artifex/mupdf/fitz/StructuredText;
*/
JNIEXPORT jobject JNICALL Java_com_artifex_mupdf_fitz_Page_toStructuredText
- (JNIEnv *, jobject, jint);
+ (JNIEnv *, jobject, jstring);
/*
* Class: com_artifex_mupdf_fitz_Page
diff --git a/platform/java/src/com/artifex/mupdf/fitz/DisplayList.java b/platform/java/src/com/artifex/mupdf/fitz/DisplayList.java
index 37a218e7..be1a4b1f 100644
--- a/platform/java/src/com/artifex/mupdf/fitz/DisplayList.java
+++ b/platform/java/src/com/artifex/mupdf/fitz/DisplayList.java
@@ -22,7 +22,7 @@ public class DisplayList
}
public native Pixmap toPixmap(Matrix ctm, ColorSpace colorspace, boolean alpha);
- public native StructuredText toStructuredText(int options);
+ public native StructuredText toStructuredText(String options);
public native Rect[] 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 85a3aca8..396f55d9 100644
--- a/platform/java/src/com/artifex/mupdf/fitz/Page.java
+++ b/platform/java/src/com/artifex/mupdf/fitz/Page.java
@@ -33,7 +33,7 @@ public class Page
//fz_transition *fz_page_presentation(fz_document *doc, fz_page *page, float *duration);
public native DisplayList toDisplayList(boolean no_annotations);
- public native StructuredText toStructuredText(int options);
+ public native StructuredText toStructuredText(String options);
public native Rect[] search(String needle);