summaryrefslogtreecommitdiff
path: root/source/tools/murun.c
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2018-11-12 21:16:12 +0100
committerTor Andersson <tor.andersson@artifex.com>2018-11-13 13:41:23 +0100
commit9a8a3fe5e1d3e319559fd0bde2bc40bc47ee01bd (patch)
tree4fe7f885c3c35cd53da1893b94a7eea6fdb8ce9b /source/tools/murun.c
parentd3a097de722b4fc39e108e30c5b2f6207bdf4b17 (diff)
downloadmupdf-9a8a3fe5e1d3e319559fd0bde2bc40bc47ee01bd.tar.xz
js: Add PDFDocument.loadImage() function.
Diffstat (limited to 'source/tools/murun.c')
-rw-r--r--source/tools/murun.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/source/tools/murun.c b/source/tools/murun.c
index 281d5ec0..33bdd8f4 100644
--- a/source/tools/murun.c
+++ b/source/tools/murun.c
@@ -3290,6 +3290,21 @@ static void ffi_PDFDocument_addImage(js_State *J)
ffi_pushobj(J, ind);
}
+static void ffi_PDFDocument_loadImage(js_State *J)
+{
+ fz_context *ctx = js_getcontext(J);
+ pdf_document *pdf = js_touserdata(J, 0, "pdf_document");
+ pdf_obj *obj = ffi_toobj(J, pdf, 1);
+ fz_image *img = NULL;
+
+ fz_try(ctx)
+ img = pdf_load_image(ctx, pdf, obj);
+ fz_catch(ctx)
+ rethrow(J);
+
+ ffi_pushimage_own(J, img);
+}
+
static void ffi_PDFDocument_addSimpleFont(js_State *J)
{
fz_context *ctx = js_getcontext(J);
@@ -4746,6 +4761,7 @@ int murun_main(int argc, char **argv)
jsB_propfun(J, "PDFDocument.addCJKFont", ffi_PDFDocument_addCJKFont, 4);
jsB_propfun(J, "PDFDocument.addFont", ffi_PDFDocument_addFont, 1);
jsB_propfun(J, "PDFDocument.addImage", ffi_PDFDocument_addImage, 1);
+ jsB_propfun(J, "PDFDocument.loadImage", ffi_PDFDocument_loadImage, 1);
jsB_propfun(J, "PDFDocument.addPage", ffi_PDFDocument_addPage, 4);
jsB_propfun(J, "PDFDocument.insertPage", ffi_PDFDocument_insertPage, 2);
jsB_propfun(J, "PDFDocument.deletePage", ffi_PDFDocument_deletePage, 1);