| Index: core/fpdfapi/fpdf_page/include/cpdf_path.h
|
| diff --git a/core/fpdfapi/fpdf_page/include/cpdf_path.h b/core/fpdfapi/fpdf_page/include/cpdf_path.h
|
| index e0ffa8c1dd2015c0f6a4c96b3488c577d8c6ff16..a9b0a7fac06cb2c0cfbf75285beebbf399bb0a60 100644
|
| --- a/core/fpdfapi/fpdf_page/include/cpdf_path.h
|
| +++ b/core/fpdfapi/fpdf_page/include/cpdf_path.h
|
| @@ -7,38 +7,44 @@
|
| #ifndef CORE_FPDFAPI_FPDF_PAGE_INCLUDE_CPDF_PATH_H_
|
| #define CORE_FPDFAPI_FPDF_PAGE_INCLUDE_CPDF_PATH_H_
|
|
|
| +#include "core/fxcrt/include/cfx_count_ref.h"
|
| #include "core/fxcrt/include/fx_system.h"
|
| #include "core/fxge/include/cfx_fxgedevice.h"
|
| #include "core/fxge/include/cfx_pathdata.h"
|
| #include "core/fxge/include/cfx_renderdevice.h"
|
|
|
| -class CPDF_Path : public CFX_CountRef<CFX_PathData> {
|
| +class CPDF_Path {
|
| public:
|
| - int GetPointCount() const { return GetObject()->GetPointCount(); }
|
| - int GetFlag(int index) const { return GetObject()->GetFlag(index); }
|
| - FX_FLOAT GetPointX(int index) const { return GetObject()->GetPointX(index); }
|
| - FX_FLOAT GetPointY(int index) const { return GetObject()->GetPointY(index); }
|
| - FX_PATHPOINT* GetPoints() const { return GetObject()->GetPoints(); }
|
| - CFX_FloatRect GetBoundingBox() const { return GetObject()->GetBoundingBox(); }
|
| - CFX_FloatRect GetBoundingBox(FX_FLOAT line_width,
|
| - FX_FLOAT miter_limit) const {
|
| - return GetObject()->GetBoundingBox(line_width, miter_limit);
|
| - }
|
| -
|
| - FX_BOOL IsRect() const { return GetObject()->IsRect(); }
|
| - void Transform(const CFX_Matrix* pMatrix) {
|
| - GetPrivateCopy()->Transform(pMatrix);
|
| - }
|
| - void Append(const CPDF_Path& other, const CFX_Matrix* pMatrix) {
|
| - GetPrivateCopy()->Append(other.GetObject(), pMatrix);
|
| - }
|
| -
|
| - void AppendRect(FX_FLOAT left,
|
| - FX_FLOAT bottom,
|
| - FX_FLOAT right,
|
| - FX_FLOAT top) {
|
| - GetPrivateCopy()->AppendRect(left, bottom, right, top);
|
| - }
|
| + CPDF_Path();
|
| + CPDF_Path(const CPDF_Path& that);
|
| + ~CPDF_Path();
|
| +
|
| + void Emplace() { m_Ref.Emplace(); }
|
| + operator bool() const { return !!m_Ref; }
|
| +
|
| + int GetPointCount() const;
|
| + void SetPointCount(int count);
|
| + const FX_PATHPOINT* GetPoints() const;
|
| + FX_PATHPOINT* GetMutablePoints();
|
| +
|
| + int GetFlag(int index) const;
|
| + FX_FLOAT GetPointX(int index) const;
|
| + FX_FLOAT GetPointY(int index) const;
|
| + CFX_FloatRect GetBoundingBox() const;
|
| + CFX_FloatRect GetBoundingBox(FX_FLOAT line_width, FX_FLOAT miter_limit) const;
|
| +
|
| + FX_BOOL IsRect() const;
|
| + void Transform(const CFX_Matrix* pMatrix);
|
| +
|
| + void Append(const CPDF_Path& other, const CFX_Matrix* pMatrix);
|
| + void Append(const CFX_PathData* pData, const CFX_Matrix* pMatrix);
|
| + void AppendRect(FX_FLOAT left, FX_FLOAT bottom, FX_FLOAT right, FX_FLOAT top);
|
| +
|
| + // TODO(tsepez): Remove when all access thru this class.
|
| + const CFX_PathData* GetObject() const { return m_Ref.GetObject(); }
|
| +
|
| + private:
|
| + CFX_CountRef<CFX_PathData> m_Ref;
|
| };
|
|
|
| #endif // CORE_FPDFAPI_FPDF_PAGE_INCLUDE_CPDF_PATH_H_
|
|
|