| // Copyright 2014 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 _FDE_PATH | |
| #define _FDE_PATH | |
| class IFDE_Path; | |
| class IFDE_Path { | |
| public: | |
| static IFDE_Path* Create(); | |
| virtual ~IFDE_Path() {} | |
| virtual void Release() = 0; | |
| virtual FX_BOOL StartFigure() = 0; | |
| virtual FX_BOOL CloseFigure() = 0; | |
| virtual void AddBezier(const CFX_PointsF& points) = 0; | |
| virtual void AddBeziers(const CFX_PointsF& points) = 0; | |
| virtual void AddCurve(const CFX_PointsF& points, | |
| FX_BOOL bClosed, | |
| FX_FLOAT fTension = 0.5f) = 0; | |
| virtual void AddEllipse(const CFX_RectF& rect) = 0; | |
| virtual void AddLines(const CFX_PointsF& points) = 0; | |
| virtual void AddLine(const CFX_PointF& pt1, const CFX_PointF& pt2) = 0; | |
| virtual void AddPath(const IFDE_Path* pSrc, FX_BOOL bConnect) = 0; | |
| virtual void AddPolygon(const CFX_PointsF& points) = 0; | |
| virtual void AddRectangle(const CFX_RectF& rect) = 0; | |
| virtual void GetBBox(CFX_RectF& bbox) const = 0; | |
| virtual void GetBBox(CFX_RectF& bbox, | |
| FX_FLOAT fLineWidth, | |
| FX_FLOAT fMiterLimit) const = 0; | |
| }; | |
| #endif |