Make some CFX_AggDeviceDriver methods private.
In CFX_AggDeviceDriver:
- RenderRasterizer() and SetClipMask() should be private, as they have
no external callers.
- GetBuffer() only has one caller. Remove it and update its caller.
Also do more forward declarations in fx_agg_driver.h, so almost all
third_party/agg23 includes are contained within fx_agg_driver.cpp. The
exception being core/fxge/win32/fx_win32_device.cpp, which now has to do
IWYU.
Change-Id: Ibc49880878aba0c26d3e1a564acdb02a279a6745
Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/74394
Commit-Queue: Lei Zhang <thestig@chromium.org>
Reviewed-by: Hui Yingst <nigi@chromium.org>
diff --git a/core/fxge/agg/fx_agg_driver.cpp b/core/fxge/agg/fx_agg_driver.cpp
index 0100ea1..7e586cb 100644
--- a/core/fxge/agg/fx_agg_driver.cpp
+++ b/core/fxge/agg/fx_agg_driver.cpp
@@ -1103,10 +1103,6 @@
DestroyPlatform();
}
-uint8_t* CFX_AggDeviceDriver::GetBuffer() const {
- return m_pBitmap->GetBuffer();
-}
-
#if !defined(OS_APPLE)
void CFX_AggDeviceDriver::InitPlatform() {}
@@ -1291,7 +1287,7 @@
if (blend_type != BlendMode::kNormal)
return false;
- if (!GetBuffer())
+ if (!m_pBitmap->GetBuffer())
return true;
m_FillOptions = fill_options;
diff --git a/core/fxge/agg/fx_agg_driver.h b/core/fxge/agg/fx_agg_driver.h
index 3457478..f5a2727 100644
--- a/core/fxge/agg/fx_agg_driver.h
+++ b/core/fxge/agg/fx_agg_driver.h
@@ -13,7 +13,6 @@
#include "build/build_config.h"
#include "core/fxge/cfx_fillrenderoptions.h"
#include "core/fxge/renderdevicedriver_iface.h"
-#include "third_party/agg23/agg_rasterizer_scanline_aa.h"
class CFX_ClipRgn;
class CFX_GraphStateData;
@@ -22,6 +21,10 @@
namespace pdfium {
+namespace agg {
+class rasterizer_scanline_aa;
+} // namespace agg
+
class CFX_AggDeviceDriver final : public RenderDeviceDriverIface {
public:
CFX_AggDeviceDriver(const RetainPtr<CFX_DIBitmap>& pBitmap,
@@ -92,6 +95,7 @@
const CFX_TextRenderOptions& options) override;
int GetDriverType() const override;
+ private:
bool RenderRasterizer(pdfium::agg::rasterizer_scanline_aa& rasterizer,
uint32_t color,
bool bFullCover,
@@ -99,9 +103,6 @@
void SetClipMask(pdfium::agg::rasterizer_scanline_aa& rasterizer);
- virtual uint8_t* GetBuffer() const;
-
- private:
RetainPtr<CFX_DIBitmap> const m_pBitmap;
std::unique_ptr<CFX_ClipRgn> m_pClipRgn;
std::vector<std::unique_ptr<CFX_ClipRgn>> m_StateStack;
diff --git a/core/fxge/win32/DEPS b/core/fxge/win32/DEPS
new file mode 100644
index 0000000..5d1d2b3
--- /dev/null
+++ b/core/fxge/win32/DEPS
@@ -0,0 +1,5 @@
+specific_include_rules = {
+ 'fx_win32_device.cpp': [
+ '+third_party/agg23/agg_clip_liang_barsky.h',
+ ]
+}
diff --git a/core/fxge/win32/fx_win32_device.cpp b/core/fxge/win32/fx_win32_device.cpp
index e362832..7686506 100644
--- a/core/fxge/win32/fx_win32_device.cpp
+++ b/core/fxge/win32/fx_win32_device.cpp
@@ -34,6 +34,7 @@
#if !defined(_SKIA_SUPPORT_)
#include "core/fxge/agg/fx_agg_driver.h"
+#include "third_party/agg23/agg_clip_liang_barsky.h"
#endif
namespace {