Break another CFGAS_GEGraphics friendship This time, it is with CFGAS_GEPattern. -- move FX_HashStyle enum and nest. -- include the actual file that provides FX_ARGB. Change-Id: I67588b25363c27f935a30a08e241c393b0e8cb39 Reviewed-on: https://pdfium-review.googlesource.com/c/pdfium/+/80670 Reviewed-by: Lei Zhang <thestig@chromium.org> Commit-Queue: Tom Sepez <tsepez@chromium.org>
diff --git a/xfa/fgas/graphics/cfgas_gegraphics.cpp b/xfa/fgas/graphics/cfgas_gegraphics.cpp index 845b219..77480b4 100644 --- a/xfa/fgas/graphics/cfgas_gegraphics.cpp +++ b/xfa/fgas/graphics/cfgas_gegraphics.cpp
@@ -247,7 +247,8 @@ bmp->Create(width, height, FXDIB_Format::kArgb); m_renderDevice->GetDIBits(bmp, 0, 0); - FX_HatchStyle hatchStyle = m_info.fillColor.GetPattern()->m_hatchStyle; + CFGAS_GEPattern::HatchStyle hatchStyle = + m_info.fillColor.GetPattern()->GetHatchStyle(); const FX_HATCHDATA& data = GetHatchBitmapData(static_cast<size_t>(hatchStyle)); @@ -260,10 +261,12 @@ CFX_DefaultRenderDevice device; device.Attach(bmp, false, nullptr, false); - device.FillRect(rect, m_info.fillColor.GetPattern()->m_backArgb); + device.FillRect(rect, m_info.fillColor.GetPattern()->GetBackArgb()); for (int32_t j = rect.bottom; j < rect.top; j += mask->GetHeight()) { - for (int32_t i = rect.left; i < rect.right; i += mask->GetWidth()) - device.SetBitMask(mask, i, j, m_info.fillColor.GetPattern()->m_foreArgb); + for (int32_t i = rect.left; i < rect.right; i += mask->GetWidth()) { + device.SetBitMask(mask, i, j, + m_info.fillColor.GetPattern()->GetForeArgb()); + } } CFX_RenderDevice::StateRestorer restorer(m_renderDevice); m_renderDevice->SetClip_PathFill(path.GetPathData(), &matrix, fill_options);
diff --git a/xfa/fgas/graphics/cfgas_gegraphics.h b/xfa/fgas/graphics/cfgas_gegraphics.h index f7dc999..377cb0d 100644 --- a/xfa/fgas/graphics/cfgas_gegraphics.h +++ b/xfa/fgas/graphics/cfgas_gegraphics.h
@@ -17,15 +17,6 @@ #include "third_party/base/span.h" #include "xfa/fgas/graphics/cfgas_gecolor.h" -enum class FX_HatchStyle { - Horizontal = 0, - Vertical = 1, - ForwardDiagonal = 2, - BackwardDiagonal = 3, - Cross = 4, - DiagonalCross = 5 -}; - class CFGAS_GEPath; class CFX_DIBBase; class CFX_RenderDevice;
diff --git a/xfa/fgas/graphics/cfgas_gepattern.cpp b/xfa/fgas/graphics/cfgas_gepattern.cpp index 0fe96fd..9d5f05f 100644 --- a/xfa/fgas/graphics/cfgas_gepattern.cpp +++ b/xfa/fgas/graphics/cfgas_gepattern.cpp
@@ -6,9 +6,9 @@ #include "xfa/fgas/graphics/cfgas_gepattern.h" -CFGAS_GEPattern::CFGAS_GEPattern(FX_HatchStyle hatchStyle, - const FX_ARGB foreArgb, - const FX_ARGB backArgb) +CFGAS_GEPattern::CFGAS_GEPattern(HatchStyle hatchStyle, + FX_ARGB foreArgb, + FX_ARGB backArgb) : m_hatchStyle(hatchStyle), m_foreArgb(foreArgb), m_backArgb(backArgb) {} CFGAS_GEPattern::~CFGAS_GEPattern() = default;
diff --git a/xfa/fgas/graphics/cfgas_gepattern.h b/xfa/fgas/graphics/cfgas_gepattern.h index d3e5760..b700ca7 100644 --- a/xfa/fgas/graphics/cfgas_gepattern.h +++ b/xfa/fgas/graphics/cfgas_gepattern.h
@@ -7,22 +7,28 @@ #ifndef XFA_FGAS_GRAPHICS_CFGAS_GEPATTERN_H_ #define XFA_FGAS_GRAPHICS_CFGAS_GEPATTERN_H_ -#include "core/fxcrt/fx_coordinates.h" -#include "core/fxcrt/fx_system.h" -#include "xfa/fgas/graphics/cfgas_gegraphics.h" +#include "core/fxge/dib/fx_dib.h" class CFGAS_GEPattern final { public: - CFGAS_GEPattern(FX_HatchStyle hatchStyle, - const FX_ARGB foreArgb, - const FX_ARGB backArgb); + enum class HatchStyle { + Horizontal = 0, + Vertical = 1, + ForwardDiagonal = 2, + BackwardDiagonal = 3, + Cross = 4, + DiagonalCross = 5 + }; + CFGAS_GEPattern(HatchStyle hatchStyle, FX_ARGB foreArgb, FX_ARGB backArgb); ~CFGAS_GEPattern(); - private: - friend class CFGAS_GEGraphics; + HatchStyle GetHatchStyle() const { return m_hatchStyle; } + FX_ARGB GetForeArgb() const { return m_foreArgb; } + FX_ARGB GetBackArgb() const { return m_backArgb; } - const FX_HatchStyle m_hatchStyle; + private: + const HatchStyle m_hatchStyle; const FX_ARGB m_foreArgb; const FX_ARGB m_backArgb; };
diff --git a/xfa/fxfa/parser/cxfa_pattern.cpp b/xfa/fxfa/parser/cxfa_pattern.cpp index 8109f1d..f8b22ea 100644 --- a/xfa/fxfa/parser/cxfa_pattern.cpp +++ b/xfa/fxfa/parser/cxfa_pattern.cpp
@@ -57,22 +57,22 @@ const CFX_Matrix& matrix) { CXFA_Color* pColor = GetColorIfExists(); FX_ARGB crEnd = pColor ? pColor->GetValue() : CXFA_Color::kBlackColor; - FX_HatchStyle iHatch = FX_HatchStyle::Cross; + CFGAS_GEPattern::HatchStyle iHatch = CFGAS_GEPattern::HatchStyle::Cross; switch (GetType()) { case XFA_AttributeValue::CrossDiagonal: - iHatch = FX_HatchStyle::DiagonalCross; + iHatch = CFGAS_GEPattern::HatchStyle::DiagonalCross; break; case XFA_AttributeValue::DiagonalLeft: - iHatch = FX_HatchStyle::ForwardDiagonal; + iHatch = CFGAS_GEPattern::HatchStyle::ForwardDiagonal; break; case XFA_AttributeValue::DiagonalRight: - iHatch = FX_HatchStyle::BackwardDiagonal; + iHatch = CFGAS_GEPattern::HatchStyle::BackwardDiagonal; break; case XFA_AttributeValue::Horizontal: - iHatch = FX_HatchStyle::Horizontal; + iHatch = CFGAS_GEPattern::HatchStyle::Horizontal; break; case XFA_AttributeValue::Vertical: - iHatch = FX_HatchStyle::Vertical; + iHatch = CFGAS_GEPattern::HatchStyle::Vertical; break; default: break;