diff options
author | Scott Byer <scottbyer@chromium.org> | 2015-05-05 17:02:40 -0700 |
---|---|---|
committer | Vitaly Buka <vitalybuka@chromium.org> | 2015-05-05 17:02:40 -0700 |
commit | 5dee6299cc103e5e0bfb138198f2369856ee81a9 (patch) | |
tree | cc21e5231b446458c8cec12849e7389cc0fea5ce /fpdfsdk | |
parent | 2cf0d21788974dd1ea19a68259c4fbccb0e56897 (diff) | |
download | pdfium-5dee6299cc103e5e0bfb138198f2369856ee81a9.tar.xz |
Expose additional flags for rasterization.
These flags are unused in Chromium, but are needed for the Cloud Print
conversion process, which takes PDF and produces a raster for low-end
printers. Certain low-end printers (e.g., B&W laser printers) will
turn anti-aliased text into a mess. The existing printing flag isn't
sufficient, as other kinds of printers will still want some kinds of
anti-aliasing to occur for best results.
BUG=482253
TEST=none
R=vitalybuka@chromium.org
Review URL: https://codereview.chromium.org/1115513002
Patch from Scott Byer <scottbyer@chromium.org>.
Diffstat (limited to 'fpdfsdk')
-rw-r--r-- | fpdfsdk/include/fpdfview.h | 3 | ||||
-rw-r--r-- | fpdfsdk/src/fpdfview.cpp | 6 |
2 files changed, 9 insertions, 0 deletions
diff --git a/fpdfsdk/include/fpdfview.h b/fpdfsdk/include/fpdfview.h index f9df4083a8..21cddabd9d 100644 --- a/fpdfsdk/include/fpdfview.h +++ b/fpdfsdk/include/fpdfview.h @@ -336,6 +336,9 @@ DLLEXPORT int STDCALL FPDF_GetPageSizeByIndex(FPDF_DOCUMENT document, int page_i #define FPDF_RENDER_LIMITEDIMAGECACHE 0x200 // Limit image cache size. #define FPDF_RENDER_FORCEHALFTONE 0x400 // Always use halftone for image stretching. #define FPDF_PRINTING 0x800 // Render for printing. +#define FPDF_RENDER_NO_SMOOTHTEXT 0x1000 // Set to disable anti-aliasing on text. +#define FPDF_RENDER_NO_SMOOTHIMAGE 0x2000 // Set to disable anti-aliasing on images. +#define FPDF_RENDER_NO_SMOOTHPATH 0x4000 // Set to disable anti-aliasing on paths. #define FPDF_REVERSE_BYTE_ORDER 0x10 //set whether render in a reverse Byte order, this flag only //enable when render to a bitmap. #ifdef _WIN32 diff --git a/fpdfsdk/src/fpdfview.cpp b/fpdfsdk/src/fpdfview.cpp index 5df563ffa4..3207ebe336 100644 --- a/fpdfsdk/src/fpdfview.cpp +++ b/fpdfsdk/src/fpdfview.cpp @@ -689,6 +689,12 @@ void FPDF_RenderPage_Retail(CRenderContext* pContext, FPDF_PAGE page, int start_ pContext->m_pOptions->m_Flags |= RENDER_LIMITEDIMAGECACHE; if (flags & FPDF_RENDER_FORCEHALFTONE) pContext->m_pOptions->m_Flags |= RENDER_FORCE_HALFTONE; + if (flags & FPDF_RENDER_NO_SMOOTHTEXT) + pContext->m_pOptions->m_Flags |= RENDER_NOTEXTSMOOTH; + if (flags & FPDF_RENDER_NO_SMOOTHIMAGE) + pContext->m_pOptions->m_Flags |= RENDER_NOIMAGESMOOTH; + if (flags & FPDF_RENDER_NO_SMOOTHPATH) + pContext->m_pOptions->m_Flags |= RENDER_NOPATHSMOOTH; //Grayscale output if (flags & FPDF_GRAYSCALE) { |