diff options
author | Tor Andersson <tor@ghostscript.com> | 2010-06-30 17:32:10 +0200 |
---|---|---|
committer | Tor Andersson <tor@ghostscript.com> | 2010-06-30 17:32:10 +0200 |
commit | 8b91056a31825914bcfb8ae5d902622976bca284 (patch) | |
tree | 47c9f38f98502cac43e7061b46ebcd0813699efa /apps/pdfapp.c | |
parent | 27e32c2ae2b462b6a8b0798f6f477b6a104ac972 (diff) | |
download | mupdf-8b91056a31825914bcfb8ae5d902622976bca284.tar.xz |
Use 32-bit blitting and DeviceBGR colorspace in windows viewer to avoid converting the pixmap.
Diffstat (limited to 'apps/pdfapp.c')
-rw-r--r-- | apps/pdfapp.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/apps/pdfapp.c b/apps/pdfapp.c index e798dfb9..6eec1b8f 100644 --- a/apps/pdfapp.c +++ b/apps/pdfapp.c @@ -279,6 +279,8 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage) if (drawpage) { + fz_colorspace *colorspace; + wincursor(app, WAIT); ctm = pdfapp_viewctm(app); @@ -293,7 +295,15 @@ static void pdfapp_showpage(pdfapp_t *app, int loadpage, int drawpage) /* Draw */ if (app->image) fz_droppixmap(app->image); - app->image = fz_newpixmapwithrect((app->grayscale ? pdf_devicegray : pdf_devicergb), bbox); + if (app->grayscale) + colorspace = pdf_devicegray; + else +#ifdef _WIN32 + colorspace = pdf_devicebgr; +#else + colorspace = pdf_devicergb; +#endif + app->image = fz_newpixmapwithrect(colorspace, bbox); fz_clearpixmap(app->image, 0xFF); idev = fz_newdrawdevice(app->cache, app->image); fz_executedisplaylist(app->page->list, idev, ctm); |