Merge XFA to PDFium master at 4dc95e7 on 10/28/2014
[pdfium.git] / xfa / src / fdp / include / fde_pth.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _FDE_PATH\r
8 #define _FDE_PATH\r
9 class IFDE_Path;\r
10 class IFDE_Path\r
11 {\r
12 public:\r
13     static IFDE_Path*           Create();\r
14     virtual void                        Release() = 0;\r
15     virtual FX_BOOL                     StartFigure() = 0;\r
16     virtual FX_BOOL                     CloseFigure() = 0;\r
17     virtual void                        AddBezier(const CFX_PointsF &points) = 0;\r
18     virtual void                        AddBeziers(const CFX_PointsF &points) = 0;\r
19     virtual void                        AddCurve(const CFX_PointsF &points, FX_BOOL bClosed, FX_FLOAT fTension = 0.5f) = 0;\r
20     virtual void                        AddEllipse(const CFX_RectF &rect) = 0;\r
21     virtual void                        AddLines(const CFX_PointsF &points) = 0;\r
22     virtual void                        AddLine(const CFX_PointF &pt1, const CFX_PointF &pt2) = 0;\r
23     virtual void                        AddPath(const IFDE_Path *pSrc, FX_BOOL bConnect) = 0;\r
24     virtual void                        AddPolygon(const CFX_PointsF &points) = 0;\r
25     virtual void                        AddRectangle(const CFX_RectF &rect) = 0;\r
26     virtual void                        GetBBox(CFX_RectF &bbox) const = 0;\r
27     virtual void                        GetBBox(CFX_RectF &bbox, FX_FLOAT fLineWidth, FX_FLOAT fMiterLimit) const = 0;\r
28 };\r
29 #endif\r