diff options
Diffstat (limited to 'pdf/pdf_event.c')
-rw-r--r-- | pdf/pdf_event.c | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/pdf/pdf_event.c b/pdf/pdf_event.c index 653d2a1f..eeaa5dfb 100644 --- a/pdf/pdf_event.c +++ b/pdf/pdf_event.c @@ -41,6 +41,34 @@ void pdf_event_issue_print(pdf_document *doc) doc->event_cb(&e, doc->event_cb_data); } +typedef struct +{ + fz_doc_event base; + char *item; +} fz_exec_menu_item_event_internal; + +char *fz_access_exec_menu_item_event(fz_doc_event *event) +{ + char *item = NULL; + + if (event->type == FZ_DOCUMENT_EVENT_EXEC_MENU_ITEM) + item = ((fz_exec_menu_item_event_internal *)event)->item; + + return item; +} + +void pdf_event_issue_exec_menu_item(pdf_document *doc, char *item) +{ + if (doc->event_cb) + { + fz_exec_menu_item_event_internal ievent; + ievent.base.type = FZ_DOCUMENT_EVENT_EXEC_MENU_ITEM; + ievent.item = item; + + doc->event_cb((fz_doc_event *)&ievent, doc->event_cb_data); + } +} + void pdf_set_doc_event_callback(pdf_document *doc, fz_doc_event_cb *fn, void *data) { doc->event_cb = fn; |