summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorScott Byer <scottbyer@chromium.org>2015-05-05 17:02:40 -0700
committerVitaly Buka <vitalybuka@chromium.org>2015-05-05 17:02:40 -0700
commit5dee6299cc103e5e0bfb138198f2369856ee81a9 (patch)
treecc21e5231b446458c8cec12849e7389cc0fea5ce
parent2cf0d21788974dd1ea19a68259c4fbccb0e56897 (diff)
downloadpdfium-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>.
-rw-r--r--fpdfsdk/include/fpdfview.h3
-rw-r--r--fpdfsdk/src/fpdfview.cpp6
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)
{