diff options
Diffstat (limited to 'xfa/src/fde/fde_path.h')
-rw-r--r-- | xfa/src/fde/fde_path.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/xfa/src/fde/fde_path.h b/xfa/src/fde/fde_path.h new file mode 100644 index 0000000000..a6a8d674d6 --- /dev/null +++ b/xfa/src/fde/fde_path.h @@ -0,0 +1,37 @@ +// 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 XFA_SRC_FDE_FDE_PATH_H_ +#define XFA_SRC_FDE_FDE_PATH_H_ + +#include "core/include/fxcrt/fx_coordinates.h" +#include "core/include/fxcrt/fx_system.h" + +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 // XFA_SRC_FDE_FDE_PATH_H_ |