summaryrefslogtreecommitdiff
path: root/xfa/fxgraphics/cfx_path_generator.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_generator.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_generator.h')
-rw-r--r--xfa/fxgraphics/cfx_path_generator.h67
1 files changed, 67 insertions, 0 deletions
diff --git a/xfa/fxgraphics/cfx_path_generator.h b/xfa/fxgraphics/cfx_path_generator.h
new file mode 100644
index 0000000000..efe316697d
--- /dev/null
+++ b/xfa/fxgraphics/cfx_path_generator.h
@@ -0,0 +1,67 @@
+// 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 XFA_FXGRAPHICS_CFX_PATH_GENERATOR_H_
+#define XFA_FXGRAPHICS_CFX_PATH_GENERATOR_H_
+
+#include "core/include/fxge/fx_ge.h"
+
+class CFX_PathGenerator {
+ public:
+ CFX_PathGenerator();
+ ~CFX_PathGenerator();
+
+ void Create();
+ 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 // XFA_FXGRAPHICS_CFX_PATH_GENERATOR_H_