summaryrefslogtreecommitdiff
path: root/source/tools
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2016-06-16 11:21:36 +0200
committerRobin Watts <robin.watts@artifex.com>2016-06-16 18:08:15 +0100
commit5825ef8805ca8439ac576fb0071f9ddbdf8f6281 (patch)
tree621b85790f6fea992dfd0fd729a8fe981628545a /source/tools
parent840f6ab0becba39a3a5a3a570e1055607dc1364c (diff)
downloadmupdf-5825ef8805ca8439ac576fb0071f9ddbdf8f6281.tar.xz
Drop save_alpha argument from image writing functions.
Diffstat (limited to 'source/tools')
-rw-r--r--source/tools/mudraw.c21
-rw-r--r--source/tools/murun.c5
-rw-r--r--source/tools/pdfextract.c6
3 files changed, 14 insertions, 18 deletions
diff --git a/source/tools/mudraw.c b/source/tools/mudraw.c
index e1259db2..2efabcd7 100644
--- a/source/tools/mudraw.c
+++ b/source/tools/mudraw.c
@@ -314,7 +314,6 @@ typedef struct worker_t {
fz_context *ctx;
int num;
int band; /* -1 to shutdown, or band to render */
- int savealpha;
fz_display_list *list;
fz_matrix ctm;
fz_rect tbounds;
@@ -533,7 +532,7 @@ file_level_trailers(fz_context *ctx)
fz_drop_stext_sheet(ctx, sheet);
}
-static void drawband(fz_context *ctx, int savealpha, fz_page *page, fz_display_list *list, const fz_matrix *ctm, const fz_rect *tbounds, fz_cookie *cookie, int band, fz_pixmap *pix, fz_bitmap **bit)
+static void drawband(fz_context *ctx, fz_page *page, fz_display_list *list, const fz_matrix *ctm, const fz_rect *tbounds, fz_cookie *cookie, int band, fz_pixmap *pix, fz_bitmap **bit)
{
fz_device *dev = NULL;
@@ -541,7 +540,7 @@ static void drawband(fz_context *ctx, int savealpha, fz_page *page, fz_display_l
fz_try(ctx)
{
- if (savealpha)
+ if (pix->alpha)
fz_clear_pixmap(ctx, pix);
else
fz_clear_pixmap_with_value(ctx, pix, 255);
@@ -563,7 +562,7 @@ static void drawband(fz_context *ctx, int savealpha, fz_page *page, fz_display_l
if (gamma_value != 1)
fz_gamma_pixmap(ctx, pix, gamma_value);
- if (savealpha)
+ if (pix->alpha)
fz_unmultiply_pixmap(ctx, pix);
if ((output_format == OUT_PCL && out_cs == CS_MONO) || (output_format == OUT_PBM) || (output_format == OUT_PKM))
@@ -827,7 +826,6 @@ static void dodrawpage(fz_context *ctx, fz_page *page, fz_display_list *list, in
fz_try(ctx)
{
- int savealpha = (out_cs == CS_GRAY_ALPHA || out_cs == CS_RGB_ALPHA || out_cs == CS_CMYK_ALPHA);
fz_irect band_ibounds = ibounds;
int band, bands = 1;
int totalheight = ibounds.y1 - ibounds.y0;
@@ -850,7 +848,6 @@ static void dodrawpage(fz_context *ctx, fz_page *page, fz_display_list *list, in
for (band = 0; band < fz_mini(num_workers, bands); band++)
{
workers[band].band = band;
- workers[band].savealpha = savealpha; /* Constant on a page */
workers[band].ctm = ctm;
workers[band].tbounds = tbounds;
memset(&workers[band].cookie, 0, sizeof(fz_cookie));
@@ -875,9 +872,9 @@ static void dodrawpage(fz_context *ctx, fz_page *page, fz_display_list *list, in
if (output_format == OUT_PGM || output_format == OUT_PPM || output_format == OUT_PNM)
fz_write_pnm_header(ctx, out, pix->w, totalheight, pix->n, pix->alpha);
else if (output_format == OUT_PAM)
- fz_write_pam_header(ctx, out, pix->w, totalheight, pix->n, pix->alpha, savealpha);
+ fz_write_pam_header(ctx, out, pix->w, totalheight, pix->n, pix->alpha);
else if (output_format == OUT_PNG)
- poc = fz_write_png_header(ctx, out, pix->w, totalheight, pix->n, pix->alpha, savealpha);
+ poc = fz_write_png_header(ctx, out, pix->w, totalheight, pix->n, pix->alpha);
else if (output_format == OUT_PBM)
fz_write_pbm_header(ctx, out, pix->w, totalheight);
else if (output_format == OUT_PKM)
@@ -906,14 +903,14 @@ static void dodrawpage(fz_context *ctx, fz_page *page, fz_display_list *list, in
cookie->errors += w->cookie.errors;
}
else
- drawband(ctx, savealpha, page, list, &ctm, &tbounds, cookie, band, pix, &bit);
+ drawband(ctx, page, list, &ctm, &tbounds, cookie, band, pix, &bit);
if (output)
{
if (output_format == OUT_PGM || output_format == OUT_PPM || output_format == OUT_PNM)
fz_write_pnm_band(ctx, out, pix->w, totalheight, pix->n, pix->alpha, pix->stride, band, drawheight, pix->samples);
else if (output_format == OUT_PAM)
- fz_write_pam_band(ctx, out, pix->w, totalheight, pix->n, pix->alpha, pix->stride, band, drawheight, pix->samples, savealpha);
+ fz_write_pam_band(ctx, out, pix->w, totalheight, pix->n, pix->stride, band, drawheight, pix->samples);
else if (output_format == OUT_PNG)
fz_write_png_band(ctx, out, poc, pix->stride, band, drawheight, pix->samples);
else if (output_format == OUT_PWG)
@@ -945,7 +942,7 @@ static void dodrawpage(fz_context *ctx, fz_page *page, fz_display_list *list, in
}
else if (output_format == OUT_TGA)
{
- fz_write_pixmap_as_tga(ctx, out, pix, savealpha);
+ fz_write_pixmap_as_tga(ctx, out, pix);
}
}
@@ -1306,7 +1303,7 @@ static THREAD_RETURN_TYPE worker_thread(void *arg)
SEMAPHORE_WAIT(me->start);
DEBUG_THREADS(("Worker %d woken for band %d\n", me->num, me->band));
if (me->band >= 0)
- drawband(me->ctx, me->savealpha, NULL, me->list, &me->ctm, &me->tbounds, &me->cookie, me->band, me->pix, &me->bit);
+ drawband(me->ctx, NULL, me->list, &me->ctm, &me->tbounds, &me->cookie, me->band, me->pix, &me->bit);
DEBUG_THREADS(("Worker %d completed band %d\n", me->num, me->band));
SEMAPHORE_TRIGGER(me->stop);
}
diff --git a/source/tools/murun.c b/source/tools/murun.c
index 61e43e17..0b36e727 100644
--- a/source/tools/murun.c
+++ b/source/tools/murun.c
@@ -1585,10 +1585,9 @@ static void ffi_Pixmap_saveAsPNG(js_State *J)
fz_context *ctx = js_getcontext(J);
fz_pixmap *pixmap = js_touserdata(J, 0, "fz_pixmap");
const char *filename = js_tostring(J, 1);
- int savealpha = js_toboolean(J, 2);
fz_try(ctx)
- fz_save_pixmap_as_png(ctx, pixmap, filename, savealpha);
+ fz_save_pixmap_as_png(ctx, pixmap, filename);
fz_catch(ctx)
rethrow(J);
}
@@ -3243,7 +3242,7 @@ int murun_main(int argc, char **argv)
// Pixmap.gamma
// Pixmap.scale()
- jsB_propfun(J, "Pixmap.saveAsPNG", ffi_Pixmap_saveAsPNG, 2);
+ jsB_propfun(J, "Pixmap.saveAsPNG", ffi_Pixmap_saveAsPNG, 1);
// Pixmap.saveAsPNM, PAM, TGA, PWG, PCL
// Pixmap.halftone() -> Bitmap
diff --git a/source/tools/pdfextract.c b/source/tools/pdfextract.c
index b784fda1..80c25c2b 100644
--- a/source/tools/pdfextract.c
+++ b/source/tools/pdfextract.c
@@ -39,7 +39,7 @@ static void writepixmap(fz_context *ctx, fz_pixmap *pix, char *file, int rgb)
if (rgb && pix->colorspace && pix->colorspace != fz_device_rgb(ctx))
{
fz_irect bbox;
- converted = fz_new_pixmap_with_bbox(ctx, fz_device_rgb(ctx), fz_pixmap_bbox(ctx, pix, &bbox), 1);
+ converted = fz_new_pixmap_with_bbox(ctx, fz_device_rgb(ctx), fz_pixmap_bbox(ctx, pix, &bbox), pix->alpha);
fz_convert_pixmap(ctx, converted, pix);
pix = converted;
}
@@ -48,13 +48,13 @@ static void writepixmap(fz_context *ctx, fz_pixmap *pix, char *file, int rgb)
{
snprintf(buf, sizeof(buf), "%s.png", file);
printf("extracting image %s\n", buf);
- fz_save_pixmap_as_png(ctx, pix, buf, 0);
+ fz_save_pixmap_as_png(ctx, pix, buf);
}
else
{
snprintf(buf, sizeof(buf), "%s.pam", file);
printf("extracting image %s\n", buf);
- fz_save_pixmap_as_pam(ctx, pix, buf, 0);
+ fz_save_pixmap_as_pam(ctx, pix, buf);
}
fz_drop_pixmap(ctx, converted);