summaryrefslogtreecommitdiff
path: root/xfa/src/fdp/include/fde_pth.h
blob: 5aa999748402e9ba6c306cb62a7e54cb753be59d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
// 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