Split CGdiPrinterDriver into its own file.

Bug: pdfium:1474
Change-Id: I4757c7e4830cb11a65a62866fc0b7b534e9885d1
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/74397
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Daniel Hosseinian <dhoss@chromium.org>
diff --git a/core/fxge/BUILD.gn b/core/fxge/BUILD.gn
index ea468dd..c4d262e 100644
--- a/core/fxge/BUILD.gn
+++ b/core/fxge/BUILD.gn
@@ -183,6 +183,8 @@
       "win32/cfx_psrenderer.cpp",
       "win32/cfx_psrenderer.h",
       "win32/cfx_windowsdib.h",
+      "win32/cgdi_printer_driver.cpp",
+      "win32/cgdi_printer_driver.h",
       "win32/cps_printer_driver.cpp",
       "win32/cps_printer_driver.h",
       "win32/cpsoutput.cpp",
@@ -192,7 +194,6 @@
       "win32/fx_win32_device.cpp",
       "win32/fx_win32_dib.cpp",
       "win32/fx_win32_gdipext.cpp",
-      "win32/fx_win32_print.cpp",
       "win32/win32_int.h",
     ]
     configs -= [ "//build/config/win:lean_and_mean" ]
diff --git a/core/fxge/win32/fx_win32_print.cpp b/core/fxge/win32/cgdi_printer_driver.cpp
similarity index 99%
rename from core/fxge/win32/fx_win32_print.cpp
rename to core/fxge/win32/cgdi_printer_driver.cpp
index 8ed8e2f..3c38698 100644
--- a/core/fxge/win32/fx_win32_print.cpp
+++ b/core/fxge/win32/cgdi_printer_driver.cpp
@@ -4,6 +4,8 @@
 
 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
 
+#include "core/fxge/win32/cgdi_printer_driver.h"
+
 #include <windows.h>
 
 #include <algorithm>
@@ -16,7 +18,6 @@
 #include "core/fxge/dib/cfx_dibextractor.h"
 #include "core/fxge/dib/cfx_dibitmap.h"
 #include "core/fxge/text_char_pos.h"
-#include "core/fxge/win32/win32_int.h"
 
 #if defined(PDFIUM_PRINT_TEXT_WITH_GDI)
 namespace {
diff --git a/core/fxge/win32/cgdi_printer_driver.h b/core/fxge/win32/cgdi_printer_driver.h
new file mode 100644
index 0000000..d1e2b3a
--- /dev/null
+++ b/core/fxge/win32/cgdi_printer_driver.h
@@ -0,0 +1,58 @@
+// Copyright 2020 PDFium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
+
+#ifndef CORE_FXGE_WIN32_CGDI_PRINTER_DRIVER_H_
+#define CORE_FXGE_WIN32_CGDI_PRINTER_DRIVER_H_
+
+#include <windows.h>
+
+#include <memory>
+
+#include "core/fxge/win32/win32_int.h"
+
+class CGdiPrinterDriver final : public CGdiDeviceDriver {
+ public:
+  explicit CGdiPrinterDriver(HDC hDC);
+  ~CGdiPrinterDriver() override;
+
+ private:
+  // CGdiPrinterDriver:
+  int GetDeviceCaps(int caps_id) const override;
+  bool SetDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
+                 uint32_t color,
+                 const FX_RECT& src_rect,
+                 int left,
+                 int top,
+                 BlendMode blend_type) override;
+  bool StretchDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
+                     uint32_t color,
+                     int dest_left,
+                     int dest_top,
+                     int dest_width,
+                     int dest_height,
+                     const FX_RECT* pClipRect,
+                     const FXDIB_ResampleOptions& options,
+                     BlendMode blend_type) override;
+  bool StartDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
+                   int bitmap_alpha,
+                   uint32_t color,
+                   const CFX_Matrix& matrix,
+                   const FXDIB_ResampleOptions& options,
+                   std::unique_ptr<CFX_ImageRenderer>* handle,
+                   BlendMode blend_type) override;
+  bool DrawDeviceText(int nChars,
+                      const TextCharPos* pCharPos,
+                      CFX_Font* pFont,
+                      const CFX_Matrix& mtObject2Device,
+                      float font_size,
+                      uint32_t color,
+                      const CFX_TextRenderOptions& options) override;
+
+  const int m_HorzSize;
+  const int m_VertSize;
+};
+
+#endif  // CORE_FXGE_WIN32_CGDI_PRINTER_DRIVER_H_
diff --git a/core/fxge/win32/fx_win32_device.cpp b/core/fxge/win32/fx_win32_device.cpp
index 580a381..8088a4f 100644
--- a/core/fxge/win32/fx_win32_device.cpp
+++ b/core/fxge/win32/fx_win32_device.cpp
@@ -26,6 +26,7 @@
 #include "core/fxge/fx_freetype.h"
 #include "core/fxge/systemfontinfo_iface.h"
 #include "core/fxge/win32/cfx_windowsdib.h"
+#include "core/fxge/win32/cgdi_printer_driver.h"
 #include "core/fxge/win32/cps_printer_driver.h"
 #include "core/fxge/win32/ctext_only_printer_driver.h"
 #include "core/fxge/win32/win32_int.h"
diff --git a/core/fxge/win32/win32_int.h b/core/fxge/win32/win32_int.h
index c2f5b0b..5f32056 100644
--- a/core/fxge/win32/win32_int.h
+++ b/core/fxge/win32/win32_int.h
@@ -177,46 +177,4 @@
                              const FXDIB_ResampleOptions& options);
 };
 
-class CGdiPrinterDriver final : public CGdiDeviceDriver {
- public:
-  explicit CGdiPrinterDriver(HDC hDC);
-  ~CGdiPrinterDriver() override;
-
- private:
-  // CGdiPrinterDriver:
-  int GetDeviceCaps(int caps_id) const override;
-  bool SetDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
-                 uint32_t color,
-                 const FX_RECT& src_rect,
-                 int left,
-                 int top,
-                 BlendMode blend_type) override;
-  bool StretchDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
-                     uint32_t color,
-                     int dest_left,
-                     int dest_top,
-                     int dest_width,
-                     int dest_height,
-                     const FX_RECT* pClipRect,
-                     const FXDIB_ResampleOptions& options,
-                     BlendMode blend_type) override;
-  bool StartDIBits(const RetainPtr<CFX_DIBBase>& pBitmap,
-                   int bitmap_alpha,
-                   uint32_t color,
-                   const CFX_Matrix& matrix,
-                   const FXDIB_ResampleOptions& options,
-                   std::unique_ptr<CFX_ImageRenderer>* handle,
-                   BlendMode blend_type) override;
-  bool DrawDeviceText(int nChars,
-                      const TextCharPos* pCharPos,
-                      CFX_Font* pFont,
-                      const CFX_Matrix& mtObject2Device,
-                      float font_size,
-                      uint32_t color,
-                      const CFX_TextRenderOptions& options) override;
-
-  const int m_HorzSize;
-  const int m_VertSize;
-};
-
 #endif  // CORE_FXGE_WIN32_WIN32_INT_H_