diff options
Diffstat (limited to 'apps/pdfapp.c')
-rw-r--r-- | apps/pdfapp.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/apps/pdfapp.c b/apps/pdfapp.c index 3468e07d..0a87565a 100644 --- a/apps/pdfapp.c +++ b/apps/pdfapp.c @@ -101,6 +101,21 @@ void pdfapp_invert(pdfapp_t *app, fz_bbox rect) fz_invert_pixmap_rect(app->image, rect); } +static void event_cb(fz_doc_event *event, void *data) +{ + pdfapp_t *app = (pdfapp_t *)data; + + switch (event->type) + { + case FZ_DOCUMENT_EVENT_ALERT: + { + fz_alert_event *alert = fz_access_alert_event(event); + winalert(app, alert); + } + break; + } +} + void pdfapp_open(pdfapp_t *app, char *filename, int reload) { fz_context *ctx = app->ctx; @@ -108,8 +123,15 @@ void pdfapp_open(pdfapp_t *app, char *filename, int reload) fz_try(ctx) { + fz_interactive *idoc; + app->doc = fz_open_document(ctx, filename); + idoc = fz_interact(app->doc); + + if (idoc) + fz_set_doc_event_callback(idoc, event_cb, app); + if (fz_needs_password(app->doc)) { int okay = fz_authenticate_password(app->doc, password); |