summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLei Zhang <thestig@chromium.org>2018-04-25 18:01:52 +0000
committerChromium commit bot <commit-bot@chromium.org>2018-04-25 18:01:52 +0000
commit537f4c7b592a6981f9686297496cb23b461dfd5e (patch)
treeaf3ba90c5a64eaa24e252484c3484f9b8ed94d9b
parent306b9a87090ba4c4cc8453ef04f230620e224fe0 (diff)
downloadpdfium-537f4c7b592a6981f9686297496cb23b461dfd5e.tar.xz
Use WindowsPrintMode in more places in place of ints.
Move WindowsPrintMode assertion into CPSPrinterDriver. Change-Id: I570076b43751e052c5396e89a6674b83a4ad1a1e Reviewed-on: https://pdfium-review.googlesource.com/31298 Reviewed-by: Rebekah Potter <rbpotter@chromium.org> Reviewed-by: dsinclair <dsinclair@chromium.org> Commit-Queue: Lei Zhang <thestig@chromium.org>
-rw-r--r--core/fxge/cfx_windowsrenderdevice.h2
-rw-r--r--core/fxge/win32/fx_win32_device.cpp5
-rw-r--r--core/fxge/win32/fx_win32_print.cpp9
-rw-r--r--core/fxge/win32/win32_int.h3
-rw-r--r--fpdfsdk/fpdf_view.cpp2
5 files changed, 13 insertions, 8 deletions
diff --git a/core/fxge/cfx_windowsrenderdevice.h b/core/fxge/cfx_windowsrenderdevice.h
index c6e6686fab..bbe13415c6 100644
--- a/core/fxge/cfx_windowsrenderdevice.h
+++ b/core/fxge/cfx_windowsrenderdevice.h
@@ -32,7 +32,7 @@ extern bool g_pdfium_print_text_with_gdi;
extern PDFiumEnsureTypefaceCharactersAccessible
g_pdfium_typeface_accessible_func;
#endif
-extern int g_pdfium_print_mode;
+extern WindowsPrintMode g_pdfium_print_mode;
class CFX_WindowsRenderDevice : public CFX_RenderDevice {
public:
diff --git a/core/fxge/win32/fx_win32_device.cpp b/core/fxge/win32/fx_win32_device.cpp
index f5b062ba61..ed03101ecd 100644
--- a/core/fxge/win32/fx_win32_device.cpp
+++ b/core/fxge/win32/fx_win32_device.cpp
@@ -671,7 +671,7 @@ bool CFX_Win32FontInfo::GetFontCharset(void* hFont, int* charset) {
} // namespace
-int g_pdfium_print_mode = WindowsPrintMode::kModeEmf;
+WindowsPrintMode g_pdfium_print_mode = WindowsPrintMode::kModeEmf;
std::unique_ptr<SystemFontInfoIface> SystemFontInfoIface::CreateDefault(
const char** pUnused) {
@@ -1361,8 +1361,5 @@ RenderDeviceDriverIface* CFX_WindowsRenderDevice::CreateDriver(HDC hDC) {
if (g_pdfium_print_mode == WindowsPrintMode::kModeTextOnly)
return new CTextOnlyPrinterDriver(hDC);
- // Should be PostScript
- ASSERT(g_pdfium_print_mode == WindowsPrintMode::kModePostScript2 ||
- g_pdfium_print_mode == WindowsPrintMode::kModePostScript3);
return new CPSPrinterDriver(hDC, g_pdfium_print_mode, false);
}
diff --git a/core/fxge/win32/fx_win32_print.cpp b/core/fxge/win32/fx_win32_print.cpp
index 66fbdd9b02..da40b8a762 100644
--- a/core/fxge/win32/fx_win32_print.cpp
+++ b/core/fxge/win32/fx_win32_print.cpp
@@ -328,8 +328,15 @@ bool CGdiPrinterDriver::DrawDeviceText(int nChars,
#endif
}
-CPSPrinterDriver::CPSPrinterDriver(HDC hDC, int pslevel, bool bCmykOutput)
+CPSPrinterDriver::CPSPrinterDriver(HDC hDC,
+ WindowsPrintMode mode,
+ bool bCmykOutput)
: m_hDC(hDC), m_bCmykOutput(bCmykOutput) {
+ // |mode| should be PostScript.
+ ASSERT(mode == WindowsPrintMode::kModePostScript2 ||
+ mode == WindowsPrintMode::kModePostScript3);
+ int pslevel = mode == WindowsPrintMode::kModePostScript2 ? 2 : 3;
+
m_HorzSize = ::GetDeviceCaps(m_hDC, HORZSIZE);
m_VertSize = ::GetDeviceCaps(m_hDC, VERTSIZE);
m_Width = ::GetDeviceCaps(m_hDC, HORZRES);
diff --git a/core/fxge/win32/win32_int.h b/core/fxge/win32/win32_int.h
index 7d4ec43cb9..fe0e7f3ba9 100644
--- a/core/fxge/win32/win32_int.h
+++ b/core/fxge/win32/win32_int.h
@@ -14,6 +14,7 @@
#include "core/fxcrt/retain_ptr.h"
#include "core/fxge/cfx_pathdata.h"
+#include "core/fxge/cfx_windowsrenderdevice.h"
#include "core/fxge/renderdevicedriver_iface.h"
#include "core/fxge/win32/cfx_psrenderer.h"
#include "core/fxge/win32/cpsoutput.h"
@@ -270,7 +271,7 @@ class CGdiPrinterDriver : public CGdiDeviceDriver {
class CPSPrinterDriver : public RenderDeviceDriverIface {
public:
- CPSPrinterDriver(HDC hDC, int ps_level, bool bCmykOutput);
+ CPSPrinterDriver(HDC hDC, WindowsPrintMode mode, bool bCmykOutput);
~CPSPrinterDriver() override;
protected:
diff --git a/fpdfsdk/fpdf_view.cpp b/fpdfsdk/fpdf_view.cpp
index d21448bc53..60be46b977 100644
--- a/fpdfsdk/fpdf_view.cpp
+++ b/fpdfsdk/fpdf_view.cpp
@@ -212,7 +212,7 @@ FPDF_EXPORT void FPDF_CALLCONV FPDF_SetPrintTextWithGDI(FPDF_BOOL use_gdi) {
FPDF_EXPORT FPDF_BOOL FPDF_CALLCONV FPDF_SetPrintMode(int mode) {
if (mode < FPDF_PRINTMODE_EMF || mode > FPDF_PRINTMODE_POSTSCRIPT3)
return FALSE;
- g_pdfium_print_mode = mode;
+ g_pdfium_print_mode = static_cast<WindowsPrintMode>(mode);
return TRUE;
}
#endif // defined(_WIN32)