diff options
Diffstat (limited to 'pdf/pdf_event.c')
-rw-r--r-- | pdf/pdf_event.c | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/pdf/pdf_event.c b/pdf/pdf_event.c new file mode 100644 index 00000000..37f88b20 --- /dev/null +++ b/pdf/pdf_event.c @@ -0,0 +1,34 @@ +#include "fitz.h" +#include "mupdf-internal.h" + +typedef struct +{ + fz_doc_event base; + fz_alert_event alert; +} fz_alert_event_internal; + +fz_alert_event *fz_access_alert_event(fz_doc_event *event) +{ + fz_alert_event *alert = NULL; + + if (event->type == FZ_DOCUMENT_EVENT_ALERT) + alert = &((fz_alert_event_internal *)event)->alert; + + return alert; +} + +void pdf_event_issue_alert(pdf_document *doc, fz_alert_event *alert) +{ + fz_alert_event_internal ievent; + ievent.base.type = FZ_DOCUMENT_EVENT_ALERT; + ievent.alert = *alert; + + if (doc->event_cb) + 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; + doc->event_cb_data = data; +} |