From 96a54896ee453a453b25a9c9e5c6ba8d0caba7cc Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Wed, 16 Dec 2015 16:03:52 +0100 Subject: Drop 'jsimp' abstraction and use mujs directly. --- include/mupdf/pdf/document.h | 2 +- include/mupdf/pdf/event.h | 24 +++++++++---------- include/mupdf/pdf/field.h | 6 ++--- include/mupdf/pdf/javascript.h | 52 +----------------------------------------- 4 files changed, 17 insertions(+), 67 deletions(-) (limited to 'include') diff --git a/include/mupdf/pdf/document.h b/include/mupdf/pdf/document.h index f369bafe..525b7b76 100644 --- a/include/mupdf/pdf/document.h +++ b/include/mupdf/pdf/document.h @@ -243,7 +243,7 @@ struct pdf_document_s pdf_obj *focus_obj; pdf_js *js; - void (*drop_js)(pdf_js *js); + int recalculating; int dirty; diff --git a/include/mupdf/pdf/event.h b/include/mupdf/pdf/event.h index 6e16ab33..dd714cb7 100644 --- a/include/mupdf/pdf/event.h +++ b/include/mupdf/pdf/event.h @@ -97,11 +97,11 @@ void pdf_set_doc_event_callback(fz_context *ctx, pdf_document *doc, pdf_doc_even */ typedef struct { - char *message; + const char *message; int icon_type; int button_group_type; - char *title; - char *check_box_message; + const char *title; + const char *check_box_message; int initially_checked; int finally_checked; int button_pressed; @@ -147,7 +147,7 @@ pdf_alert_event *pdf_access_alert_event(fz_context *ctx, pdf_doc_event *event); pdf_access_exec_menu_item_event: access the details of am execMenuItem event, which consists of just the name of the menu item */ -char *pdf_access_exec_menu_item_event(fz_context *ctx, pdf_doc_event *event); +const char *pdf_access_exec_menu_item_event(fz_context *ctx, pdf_doc_event *event); /* pdf_submit_event: details of a submit event. The app should submit @@ -175,7 +175,7 @@ pdf_submit_event *pdf_access_submit_event(fz_context *ctx, pdf_doc_event *event) */ typedef struct { - char *url; + const char *url; int new_frame; } pdf_launch_url_event; @@ -194,11 +194,11 @@ pdf_launch_url_event *pdf_access_launch_url_event(fz_context *ctx, pdf_doc_event typedef struct { int ask_user; - char *to; - char *cc; - char *bcc; - char *subject; - char *message; + const char *to; + const char *cc; + const char *bcc; + const char *subject; + const char *message; } pdf_mail_doc_event; /* @@ -208,9 +208,9 @@ pdf_mail_doc_event *pdf_access_mail_doc_event(fz_context *ctx, pdf_doc_event *ev void pdf_event_issue_alert(fz_context *ctx, pdf_document *doc, pdf_alert_event *event); void pdf_event_issue_print(fz_context *ctx, pdf_document *doc); -void pdf_event_issue_exec_menu_item(fz_context *ctx, pdf_document *doc, char *item); +void pdf_event_issue_exec_menu_item(fz_context *ctx, pdf_document *doc, const char *item); void pdf_event_issue_exec_dialog(fz_context *ctx, pdf_document *doc); -void pdf_event_issue_launch_url(fz_context *ctx, pdf_document *doc, char *url, int new_frame); +void pdf_event_issue_launch_url(fz_context *ctx, pdf_document *doc, const char *url, int new_frame); void pdf_event_issue_mail_doc(fz_context *ctx, pdf_document *doc, pdf_mail_doc_event *event); #endif diff --git a/include/mupdf/pdf/field.h b/include/mupdf/pdf/field.h index 72a72479..b0fd834b 100644 --- a/include/mupdf/pdf/field.h +++ b/include/mupdf/pdf/field.h @@ -39,10 +39,10 @@ int pdf_get_field_flags(fz_context *ctx, pdf_document *doc, pdf_obj *obj); int pdf_field_type(fz_context *ctx, pdf_document *doc, pdf_obj *field); void pdf_set_field_type(fz_context *ctx, pdf_document *doc, pdf_obj *obj, int type); char *pdf_field_value(fz_context *ctx, pdf_document *doc, pdf_obj *field); -int pdf_field_set_value(fz_context *ctx, pdf_document *doc, pdf_obj *field, char *text); +int pdf_field_set_value(fz_context *ctx, pdf_document *doc, pdf_obj *field, const char *text); char *pdf_field_border_style(fz_context *ctx, pdf_document *doc, pdf_obj *field); -void pdf_field_set_border_style(fz_context *ctx, pdf_document *doc, pdf_obj *field, char *text); -void pdf_field_set_button_caption(fz_context *ctx, pdf_document *doc, pdf_obj *field, char *text); +void pdf_field_set_border_style(fz_context *ctx, pdf_document *doc, pdf_obj *field, const char *text); +void pdf_field_set_button_caption(fz_context *ctx, pdf_document *doc, pdf_obj *field, const char *text); void pdf_field_set_fill_color(fz_context *ctx, pdf_document *doc, pdf_obj *field, pdf_obj *col); void pdf_field_set_text_color(fz_context *ctx, pdf_document *doc, pdf_obj *field, pdf_obj *col); void pdf_signature_set_value(fz_context *ctx, pdf_document *doc, pdf_obj *field, pdf_signer *signer); diff --git a/include/mupdf/pdf/javascript.h b/include/mupdf/pdf/javascript.h index a9a9213a..32e0c1bc 100644 --- a/include/mupdf/pdf/javascript.h +++ b/include/mupdf/pdf/javascript.h @@ -11,60 +11,10 @@ typedef struct pdf_js_event_s void pdf_enable_js(fz_context *ctx, pdf_document *doc); void pdf_disable_js(fz_context *ctx, pdf_document *doc); int pdf_js_supported(fz_context *ctx, pdf_document *doc); +void pdf_drop_js(fz_context *ctx, pdf_js *js); void pdf_js_setup_event(pdf_js *js, pdf_js_event *e); pdf_js_event *pdf_js_get_event(pdf_js *js); void pdf_js_execute(pdf_js *js, char *code); -void pdf_js_execute_count(pdf_js *js, char *code, int count); - -/* - * Javascript engine interface - */ -typedef struct pdf_jsimp_s pdf_jsimp; -typedef struct pdf_jsimp_type_s pdf_jsimp_type; -typedef struct pdf_jsimp_obj_s pdf_jsimp_obj; - -typedef void (pdf_jsimp_dtr)(void *jsctx, void *obj); -typedef pdf_jsimp_obj *(pdf_jsimp_method)(void *jsctx, void *obj, int argc, pdf_jsimp_obj *args[]); -typedef pdf_jsimp_obj *(pdf_jsimp_getter)(void *jsctx, void *obj); -typedef void (pdf_jsimp_setter)(void *jsctx, void *obj, pdf_jsimp_obj *val); - -enum -{ - JS_TYPE_UNKNOWN, - JS_TYPE_NULL, - JS_TYPE_STRING, - JS_TYPE_NUMBER, - JS_TYPE_ARRAY, - JS_TYPE_BOOLEAN -}; - -pdf_jsimp *pdf_new_jsimp(fz_context *ctx, void *jsctx); -void pdf_drop_jsimp(pdf_jsimp *imp); - -pdf_jsimp_type *pdf_jsimp_new_type(pdf_jsimp *imp, pdf_jsimp_dtr *dtr, char *name); -void pdf_jsimp_drop_type(pdf_jsimp *imp, pdf_jsimp_type *type); -void pdf_jsimp_addmethod(pdf_jsimp *imp, pdf_jsimp_type *type, char *name, pdf_jsimp_method *meth); -void pdf_jsimp_addproperty(pdf_jsimp *imp, pdf_jsimp_type *type, char *name, pdf_jsimp_getter *get, pdf_jsimp_setter *set); -void pdf_jsimp_set_global_type(pdf_jsimp *imp, pdf_jsimp_type *type); - -pdf_jsimp_obj *pdf_jsimp_new_obj(pdf_jsimp *imp, pdf_jsimp_type *type, void *obj); -void pdf_jsimp_drop_obj(pdf_jsimp *imp, pdf_jsimp_obj *obj); - -int pdf_jsimp_to_type(pdf_jsimp *imp, pdf_jsimp_obj *obj); - -pdf_jsimp_obj *pdf_jsimp_from_string(pdf_jsimp *imp, char *str); -char *pdf_jsimp_to_string(pdf_jsimp *imp, pdf_jsimp_obj *obj); - -pdf_jsimp_obj *pdf_jsimp_from_number(pdf_jsimp *imp, double num); -double pdf_jsimp_to_number(pdf_jsimp *imp, pdf_jsimp_obj *obj); - -int pdf_jsimp_array_len(pdf_jsimp *imp, pdf_jsimp_obj *obj); -pdf_jsimp_obj *pdf_jsimp_array_item(pdf_jsimp *imp, pdf_jsimp_obj *obj, int i); - -pdf_jsimp_obj *pdf_jsimp_property(pdf_jsimp *imp, pdf_jsimp_obj *obj, char *prop); - -void pdf_jsimp_execute(pdf_jsimp *imp, char *code); -void pdf_jsimp_execute_count(pdf_jsimp *imp, char *code, int count); #endif -- cgit v1.2.3