123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216 |
- #ifndef MUPDF_PDF_EVENT_H
- #define MUPDF_PDF_EVENT_H
- enum
- {
- HOTSPOT_POINTER_DOWN = 0x1,
- HOTSPOT_POINTER_OVER = 0x2
- };
- enum
- {
- PDF_EVENT_TYPE_POINTER,
- };
- enum
- {
- PDF_POINTER_DOWN,
- PDF_POINTER_UP,
- };
- typedef struct pdf_ui_event_s
- {
- int etype;
- union
- {
- struct
- {
- int ptype;
- fz_point pt;
- } pointer;
- } event;
- } pdf_ui_event;
- void pdf_init_ui_pointer_event(pdf_ui_event *event, int type, float x, float y);
- int pdf_pass_event(fz_context *ctx, pdf_document *doc, pdf_page *page, pdf_ui_event *ui_event);
- struct pdf_doc_event_s
- {
- int type;
- };
- enum
- {
- PDF_DOCUMENT_EVENT_ALERT,
- PDF_DOCUMENT_EVENT_PRINT,
- PDF_DOCUMENT_EVENT_LAUNCH_URL,
- PDF_DOCUMENT_EVENT_MAIL_DOC,
- PDF_DOCUMENT_EVENT_SUBMIT,
- PDF_DOCUMENT_EVENT_EXEC_MENU_ITEM,
- PDF_DOCUMENT_EVENT_EXEC_DIALOG
- };
- void pdf_set_doc_event_callback(fz_context *ctx, pdf_document *doc, pdf_doc_event_cb *event_cb, void *data);
- typedef struct
- {
- const char *message;
- int icon_type;
- int button_group_type;
- const char *title;
- const char *check_box_message;
- int initially_checked;
- int finally_checked;
- int button_pressed;
- } pdf_alert_event;
- enum
- {
- PDF_ALERT_ICON_ERROR,
- PDF_ALERT_ICON_WARNING,
- PDF_ALERT_ICON_QUESTION,
- PDF_ALERT_ICON_STATUS
- };
- enum
- {
- PDF_ALERT_BUTTON_GROUP_OK,
- PDF_ALERT_BUTTON_GROUP_OK_CANCEL,
- PDF_ALERT_BUTTON_GROUP_YES_NO,
- PDF_ALERT_BUTTON_GROUP_YES_NO_CANCEL
- };
- enum
- {
- PDF_ALERT_BUTTON_NONE,
- PDF_ALERT_BUTTON_OK,
- PDF_ALERT_BUTTON_CANCEL,
- PDF_ALERT_BUTTON_NO,
- PDF_ALERT_BUTTON_YES
- };
- pdf_alert_event *pdf_access_alert_event(fz_context *ctx, pdf_doc_event *event);
- const char *pdf_access_exec_menu_item_event(fz_context *ctx, pdf_doc_event *event);
- typedef struct
- {
- char *url;
- char *data;
- int data_len;
- int get;
- } pdf_submit_event;
- pdf_submit_event *pdf_access_submit_event(fz_context *ctx, pdf_doc_event *event);
- typedef struct
- {
- const char *url;
- int new_frame;
- } pdf_launch_url_event;
- pdf_launch_url_event *pdf_access_launch_url_event(fz_context *ctx, pdf_doc_event *event);
- typedef struct
- {
- int ask_user;
- const char *to;
- const char *cc;
- const char *bcc;
- const char *subject;
- const char *message;
- } pdf_mail_doc_event;
- pdf_mail_doc_event *pdf_access_mail_doc_event(fz_context *ctx, pdf_doc_event *event);
- 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, 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, const char *url, int new_frame);
- void pdf_event_issue_mail_doc(fz_context *ctx, pdf_document *doc, pdf_mail_doc_event *event);
- #endif
|