summaryrefslogtreecommitdiff
path: root/xfa/fxgraphics/cfx_path.h
diff options
context:
space:
mode:
authorDan Sinclair <dsinclair@chromium.org>2016-03-17 08:59:42 -0400
committerDan Sinclair <dsinclair@chromium.org>2016-03-17 08:59:42 -0400
commit811b8a4f4482bb5c11ac7610e70a4c8fd34c2907 (patch)
treecafa17bad705518693c0a2ba9d8df9d50af2101e /xfa/fxgraphics/cfx_path.h
parenta03c343b47938fcb1b562741ff05252b01a4e39d (diff)
downloadpdfium-811b8a4f4482bb5c11ac7610e70a4c8fd34c2907.tar.xz
Move xfa/include/fxgraphics/fx_graphics.h to xfa/fxgraphics.
This Cl moves and splits apart the fx_graphics.h file into individual classes. The .cpp files are renamed to match the .h files. pre.h was removed at the same time and its contents moved to the correct places as needed. R=tsepez@chromium.org Review URL: https://codereview.chromium.org/1810563002 .
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_