// 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 |