diff options
Diffstat (limited to 'xfa/fxgraphics/cfx_path.h')
-rw-r--r-- | xfa/fxgraphics/cfx_path.h | 78 |
1 files changed, 78 insertions, 0 deletions
diff --git a/xfa/fxgraphics/cfx_path.h b/xfa/fxgraphics/cfx_path.h new file mode 100644 index 0000000000..e8e31b3876 --- /dev/null +++ b/xfa/fxgraphics/cfx_path.h @@ -0,0 +1,78 @@ +// Copyright 2016 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_FXGRAPHICS_CFX_PATH_H_ +#define XFA_FXGRAPHICS_CFX_PATH_H_ + +#include "core/include/fxcrt/fx_system.h" +#include "xfa/fxgraphics/include/cfx_graphics.h" + +class CFX_PathData; +class CFX_PathGenerator; + +class CFX_Path { + public: + CFX_Path(); + virtual ~CFX_Path(); + + FX_ERR Create(); + FX_ERR MoveTo(FX_FLOAT x, FX_FLOAT y); + FX_ERR LineTo(FX_FLOAT x, FX_FLOAT y); + FX_ERR BezierTo(FX_FLOAT ctrlX1, + FX_FLOAT ctrlY1, + FX_FLOAT ctrlX2, + FX_FLOAT ctrlY2, + FX_FLOAT toX, + FX_FLOAT toY); + FX_ERR ArcTo(FX_FLOAT left, + FX_FLOAT top, + FX_FLOAT width, + FX_FLOAT height, + FX_FLOAT startAngle, + FX_FLOAT sweepAngle); + FX_ERR Close(); + + FX_ERR AddLine(FX_FLOAT x1, FX_FLOAT y1, FX_FLOAT x2, FX_FLOAT y2); + FX_ERR AddBezier(FX_FLOAT startX, + FX_FLOAT startY, + FX_FLOAT ctrlX1, + FX_FLOAT ctrlY1, + FX_FLOAT ctrlX2, + FX_FLOAT ctrlY2, + FX_FLOAT endX, + FX_FLOAT endY); + FX_ERR AddRectangle(FX_FLOAT left, + FX_FLOAT top, + FX_FLOAT width, + FX_FLOAT height); + FX_ERR AddEllipse(FX_FLOAT left, + FX_FLOAT top, + FX_FLOAT width, + FX_FLOAT height); + FX_ERR AddEllipse(const CFX_RectF& rect); + FX_ERR AddArc(FX_FLOAT left, + FX_FLOAT top, + FX_FLOAT width, + FX_FLOAT height, + FX_FLOAT startAngle, + FX_FLOAT sweepAngle); + FX_ERR AddPie(FX_FLOAT left, + FX_FLOAT top, + FX_FLOAT width, + FX_FLOAT height, + FX_FLOAT startAngle, + FX_FLOAT sweepAngle); + FX_ERR AddSubpath(CFX_Path* path); + FX_ERR Clear(); + + FX_BOOL IsEmpty(); + CFX_PathData* GetPathData(); + + private: + CFX_PathGenerator* m_generator; +}; + +#endif // XFA_FXGRAPHICS_CFX_PATH_H_ |