summaryrefslogtreecommitdiff
path: root/xfa/src/fxgraphics/src/fx_path_generator.h
diff options
context:
space:
mode:
Diffstat (limited to 'xfa/src/fxgraphics/src/fx_path_generator.h')
-rw-r--r--xfa/src/fxgraphics/src/fx_path_generator.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/xfa/src/fxgraphics/src/fx_path_generator.h b/xfa/src/fxgraphics/src/fx_path_generator.h
new file mode 100644
index 0000000000..c1447f6c3a
--- /dev/null
+++ b/xfa/src/fxgraphics/src/fx_path_generator.h
@@ -0,0 +1,42 @@
+// 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 __H_FX_PATH_GENERATOR__
+#define __H_FX_PATH_GENERATOR__
+class CFX_PathGenerator : public CFX_Object
+{
+public:
+ CFX_PathGenerator();
+ void Create();
+ ~CFX_PathGenerator();
+ CFX_PathData *GetPathData() const
+ {
+ return m_pPathData;
+ }
+ void AddPathData(CFX_PathData *path_data);
+ void AddPathData(FX_PATHPOINT *points, int count);
+ void MoveTo(FX_FLOAT x, FX_FLOAT y);
+ void LineTo(FX_FLOAT x, FX_FLOAT y);
+ void BezierTo(FX_FLOAT ctrl_x1, FX_FLOAT ctrl_y1,
+ FX_FLOAT ctrl_x2, FX_FLOAT ctrl_y2, FX_FLOAT to_x, FX_FLOAT to_y);
+ void Close();
+ void ArcTo(FX_FLOAT x, FX_FLOAT y, FX_FLOAT width, FX_FLOAT height,
+ FX_FLOAT start_angle, FX_FLOAT sweep_angle);
+
+ void AddLine(FX_FLOAT x1, FX_FLOAT y1, FX_FLOAT x2, FX_FLOAT y2);
+ void AddBezier(FX_FLOAT start_x, FX_FLOAT start_y,
+ FX_FLOAT ctrl_x1, FX_FLOAT ctrl_y1, FX_FLOAT ctrl_x2, FX_FLOAT ctrl_y2,
+ FX_FLOAT end_x, FX_FLOAT end_y);
+ void AddRectangle(FX_FLOAT x1, FX_FLOAT y1, FX_FLOAT x2, FX_FLOAT y2);
+ void AddEllipse(FX_FLOAT x, FX_FLOAT y, FX_FLOAT width, FX_FLOAT height);
+ void AddArc(FX_FLOAT x, FX_FLOAT y, FX_FLOAT width, FX_FLOAT height,
+ FX_FLOAT start_angle, FX_FLOAT sweep_angle);
+ void AddPie(FX_FLOAT x, FX_FLOAT y, FX_FLOAT width, FX_FLOAT height,
+ FX_FLOAT start_angle, FX_FLOAT sweep_angle);
+protected:
+ CFX_PathData *m_pPathData;
+};
+#endif