summaryrefslogtreecommitdiff
path: root/xfa/fxgraphics/cfx_path.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/fxgraphics/cfx_path.h')
-rw-r--r--xfa/fxgraphics/cfx_path.h78
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_