From de085341deeb2b279b9afb72b03e1d7a097a7b0a Mon Sep 17 00:00:00 2001 From: Sebastian Rasmussen Date: Wed, 26 Oct 2016 23:13:54 +0800 Subject: Update ios/android to use new way of passion stext options. In addition, make all callers passing 0 as a point pass NULL instead. --- platform/java/mupdf_native.c | 36 ++++++++++++++++++---- platform/java/mupdf_native.h | 8 ++--- .../src/com/artifex/mupdf/fitz/DisplayList.java | 2 +- platform/java/src/com/artifex/mupdf/fitz/Page.java | 2 +- 4 files changed, 36 insertions(+), 12 deletions(-) (limited to 'platform/java') 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); -- cgit v1.2.3