summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--platform/android/viewer/jni/mupdf.c6
-rw-r--r--platform/gl/gl-main.c4
-rw-r--r--platform/ios/Classes/MuPageViewNormal.m2
-rw-r--r--platform/ios/Classes/MuPageViewReflow.m2
-rw-r--r--platform/ios/common.m2
-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
-rw-r--r--platform/x11/pdfapp.c2
-rw-r--r--source/fitz/util.c4
11 files changed, 47 insertions, 23 deletions
diff --git a/platform/android/viewer/jni/mupdf.c b/platform/android/viewer/jni/mupdf.c
index e928e70f..383228e1 100644
--- a/platform/android/viewer/jni/mupdf.c
+++ b/platform/android/viewer/jni/mupdf.c
@@ -1272,7 +1272,7 @@ JNI_FN(MuPDFCore_searchPage)(JNIEnv * env, jobject thiz, jstring jtext)
fz_scale(&ctm, zoom, zoom);
sheet = fz_new_stext_sheet(ctx);
text = fz_new_stext_page(ctx, fz_bound_page(ctx, pc->page, &mediabox));
- dev = fz_new_stext_device(ctx, sheet, text, 0);
+ dev = fz_new_stext_device(ctx, sheet, text, NULL);
fz_run_page(ctx, pc->page, dev, &ctm, NULL);
fz_close_device(ctx, dev);
fz_drop_device(ctx, dev);
@@ -1364,7 +1364,7 @@ JNI_FN(MuPDFCore_text)(JNIEnv * env, jobject thiz)
fz_scale(&ctm, zoom, zoom);
sheet = fz_new_stext_sheet(ctx);
text = fz_new_stext_page(ctx, fz_bound_page(ctx, pc->page, &mediabox));
- dev = fz_new_stext_device(ctx, sheet, text, 0);
+ dev = fz_new_stext_device(ctx, sheet, text, NULL);
fz_run_page(ctx, pc->page, dev, &ctm, NULL);
fz_close_device(ctx, dev);
fz_drop_device(ctx, dev);
@@ -1474,7 +1474,7 @@ JNI_FN(MuPDFCore_textAsHtml)(JNIEnv * env, jobject thiz)
ctm = fz_identity;
sheet = fz_new_stext_sheet(ctx);
text = fz_new_stext_page(ctx, fz_bound_page(ctx, pc->page, &mediabox));
- dev = fz_new_stext_device(ctx, sheet, text, 0);
+ dev = fz_new_stext_device(ctx, sheet, text, NULL);
fz_run_page(ctx, pc->page, dev, &ctm, NULL);
fz_close_device(ctx, dev);
fz_drop_device(ctx, dev);
diff --git a/platform/gl/gl-main.c b/platform/gl/gl-main.c
index 14970c4c..0f14667c 100644
--- a/platform/gl/gl-main.c
+++ b/platform/gl/gl-main.c
@@ -362,9 +362,9 @@ static void do_copy_region(fz_rect *screen_sel, int xofs, int yofs)
fz_transform_rect(&page_sel, &page_inv_ctm);
#ifdef _WIN32
- buf = fz_new_buffer_from_page(ctx, page, &page_sel, 1, 0);
+ buf = fz_new_buffer_from_page(ctx, page, &page_sel, 1, NULL);
#else
- buf = fz_new_buffer_from_page(ctx, page, &page_sel, 0, 0);
+ buf = fz_new_buffer_from_page(ctx, page, &page_sel, 0, NULL);
#endif
fz_write_buffer_rune(ctx, buf, 0);
glfwSetClipboardString(window, (char*)buf->data);
diff --git a/platform/ios/Classes/MuPageViewNormal.m b/platform/ios/Classes/MuPageViewNormal.m
index 7a9d9857..0b50855c 100644
--- a/platform/ios/Classes/MuPageViewNormal.m
+++ b/platform/ios/Classes/MuPageViewNormal.m
@@ -77,7 +77,7 @@ static NSArray *enumerateWords(fz_document *doc, fz_page *page)
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, &fz_identity, NULL);
fz_close_device(ctx, dev);
fz_drop_device(ctx, dev);
diff --git a/platform/ios/Classes/MuPageViewReflow.m b/platform/ios/Classes/MuPageViewReflow.m
index 8356ac6a..c5963f2f 100644
--- a/platform/ios/Classes/MuPageViewReflow.m
+++ b/platform/ios/Classes/MuPageViewReflow.m
@@ -25,7 +25,7 @@ NSString *textAsHtml(fz_document *doc, int pageNum)
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);
page = fz_load_page(ctx, doc, pageNum);
fz_run_page(ctx, page, dev, &ctm, NULL);
fz_close_device(ctx, dev);
diff --git a/platform/ios/common.m b/platform/ios/common.m
index 081e6a6f..310a08fc 100644
--- a/platform/ios/common.m
+++ b/platform/ios/common.m
@@ -23,7 +23,7 @@ int search_page(fz_document *doc, int number, char *needle, fz_cookie *cookie)
fz_rect mediabox;
fz_stext_sheet *sheet = fz_new_stext_sheet(ctx);
fz_stext_page *text = fz_new_stext_page(ctx, fz_bound_page(ctx, page, &mediabox));
- fz_device *dev = fz_new_stext_device(ctx, sheet, text, 0);
+ fz_device *dev = fz_new_stext_device(ctx, sheet, text, NULL);
fz_run_page(ctx, page, dev, &fz_identity, cookie);
fz_drop_device(ctx, dev);
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);
diff --git a/platform/x11/pdfapp.c b/platform/x11/pdfapp.c
index 83744cb1..512feb2e 100644
--- a/platform/x11/pdfapp.c
+++ b/platform/x11/pdfapp.c
@@ -868,7 +868,7 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage, int repai
if (app->page_list || app->annotations_list)
{
- tdev = fz_new_stext_device(app->ctx, app->page_sheet, app->page_text, 0);
+ tdev = fz_new_stext_device(app->ctx, app->page_sheet, app->page_text, NULL);
pdfapp_runpage(app, tdev, &fz_identity, &fz_infinite_rect, &cookie);
fz_close_device(app->ctx, tdev);
fz_drop_device(app->ctx, tdev);
diff --git a/source/fitz/util.c b/source/fitz/util.c
index be8502a5..cc2c9c7e 100644
--- a/source/fitz/util.c
+++ b/source/fitz/util.c
@@ -350,7 +350,7 @@ fz_search_display_list(fz_context *ctx, fz_display_list *list, const char *needl
sheet = fz_new_stext_sheet(ctx);
fz_try(ctx)
{
- text = fz_new_stext_page_from_display_list(ctx, list, sheet, 0);
+ text = fz_new_stext_page_from_display_list(ctx, list, sheet, NULL);
count = fz_search_stext_page(ctx, text, needle, hit_bbox, hit_max);
}
fz_always(ctx)
@@ -371,7 +371,7 @@ fz_search_page(fz_context *ctx, fz_page *page, const char *needle, fz_rect *hit_
sheet = fz_new_stext_sheet(ctx);
fz_try(ctx)
{
- text = fz_new_stext_page_from_page(ctx, page, sheet, 0);
+ text = fz_new_stext_page_from_page(ctx, page, sheet, NULL);
count = fz_search_stext_page(ctx, text, needle, hit_bbox, hit_max);
}
fz_always(ctx)