diff options
author | Robin Watts <Robin.Watts@artifex.com> | 2017-03-24 15:27:17 -0400 |
---|---|---|
committer | Robin Watts <Robin.Watts@artifex.com> | 2017-03-24 15:29:21 -0400 |
commit | 11a544dbb2da9d5aeb608fb2e1afc97334e8dd1e (patch) | |
tree | 961ff34160d2f059454e8a89a10f32bd5e70778a /source/fitz | |
parent | ea75724276f1efabd5d78595af0d3d35f7cde659 (diff) | |
download | mupdf-11a544dbb2da9d5aeb608fb2e1afc97334e8dd1e.tar.xz |
Add fz_new_XXX_document_writer calls for pixmaps.
This enables people to access (say) a PNG writer without
pulling in every single document writer at link time. (Of
course, currently, without function level linking, even now
we'll pull everything in, but we can improve this by
splitting source files up).
Diffstat (limited to 'source/fitz')
-rw-r--r-- | source/fitz/writer.c | 56 |
1 files changed, 48 insertions, 8 deletions
diff --git a/source/fitz/writer.c b/source/fitz/writer.c index f9d5b8c1..67a1d5ef 100644 --- a/source/fitz/writer.c +++ b/source/fitz/writer.c @@ -61,6 +61,46 @@ fz_document_writer *fz_new_document_writer_of_size(fz_context *ctx, size_t size, return wri; } +fz_document_writer *fz_new_png_pixmap_writer(fz_context *ctx, const char *path, const char *options) +{ + return fz_new_pixmap_writer(ctx, path, options, "out-%04.png", 0, fz_save_pixmap_as_png); +} + +fz_document_writer *fz_new_tga_pixmap_writer(fz_context *ctx, const char *path, const char *options) +{ + return fz_new_pixmap_writer(ctx, path, options, "out-%04.tga", 0, fz_save_pixmap_as_tga); +} + +fz_document_writer *fz_new_pam_pixmap_writer(fz_context *ctx, const char *path, const char *options) +{ + return fz_new_pixmap_writer(ctx, path, options, "out-%04.pam", 0, fz_save_pixmap_as_pam); +} + +fz_document_writer *fz_new_pnm_pixmap_writer(fz_context *ctx, const char *path, const char *options) +{ + return fz_new_pixmap_writer(ctx, path, options, "out-%04.pnm", 0, fz_save_pixmap_as_pnm); +} + +fz_document_writer *fz_new_pgm_pixmap_writer(fz_context *ctx, const char *path, const char *options) +{ + return fz_new_pixmap_writer(ctx, path, options, "out-%04.pgm", 1, fz_save_pixmap_as_pnm); +} + +fz_document_writer *fz_new_ppm_pixmap_writer(fz_context *ctx, const char *path, const char *options) +{ + return fz_new_pixmap_writer(ctx, path, options, "out-%04.ppm", 3, fz_save_pixmap_as_pnm); +} + +fz_document_writer *fz_new_pbm_pixmap_writer(fz_context *ctx, const char *path, const char *options) +{ + return fz_new_pixmap_writer(ctx, path, options, "out-%04.pbm", 1, fz_save_pixmap_as_pbm); +} + +fz_document_writer *fz_new_pkm_pixmap_writer(fz_context *ctx, const char *path, const char *options) +{ + return fz_new_pixmap_writer(ctx, path, options, "out-%04.pkm", 4, fz_save_pixmap_as_pkm); +} + fz_document_writer * fz_new_document_writer(fz_context *ctx, const char *path, const char *format, const char *options) { @@ -82,21 +122,21 @@ fz_new_document_writer(fz_context *ctx, const char *path, const char *format, co return fz_new_svg_writer(ctx, path, options); if (!fz_strcasecmp(format, "png")) - return fz_new_pixmap_writer(ctx, path, options, "out-%04.png", 0, fz_save_pixmap_as_png); + return fz_new_png_pixmap_writer(ctx, path, options); if (!fz_strcasecmp(format, "tga")) - return fz_new_pixmap_writer(ctx, path, options, "out-%04.tga", 0, fz_save_pixmap_as_tga); + return fz_new_tga_pixmap_writer(ctx, path, options); if (!fz_strcasecmp(format, "pam")) - return fz_new_pixmap_writer(ctx, path, options, "out-%04.pam", 0, fz_save_pixmap_as_pam); + return fz_new_pam_pixmap_writer(ctx, path, options); if (!fz_strcasecmp(format, "pnm")) - return fz_new_pixmap_writer(ctx, path, options, "out-%04.pnm", 0, fz_save_pixmap_as_pnm); + return fz_new_pnm_pixmap_writer(ctx, path, options); if (!fz_strcasecmp(format, "pgm")) - return fz_new_pixmap_writer(ctx, path, options, "out-%04.pgm", 1, fz_save_pixmap_as_pnm); + return fz_new_pgm_pixmap_writer(ctx, path, options); if (!fz_strcasecmp(format, "ppm")) - return fz_new_pixmap_writer(ctx, path, options, "out-%04.ppm", 3, fz_save_pixmap_as_pnm); + return fz_new_ppm_pixmap_writer(ctx, path, options); if (!fz_strcasecmp(format, "pbm")) - return fz_new_pixmap_writer(ctx, path, options, "out-%04.pbm", 1, fz_save_pixmap_as_pbm); + return fz_new_pbm_pixmap_writer(ctx, path, options); if (!fz_strcasecmp(format, "pkm")) - return fz_new_pixmap_writer(ctx, path, options, "out-%04.pkm", 4, fz_save_pixmap_as_pkm); + return fz_new_pkm_pixmap_writer(ctx, path, options); fz_throw(ctx, FZ_ERROR_GENERIC, "unknown output document format: %s", format); } |