aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/pathops/SkPathWriter.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/pathops/SkPathWriter.h')
-rw-r--r--src/pathops/SkPathWriter.h44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/pathops/SkPathWriter.h b/src/pathops/SkPathWriter.h
new file mode 100644
index 0000000000..2989b357ff
--- /dev/null
+++ b/src/pathops/SkPathWriter.h
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2012 Google Inc.
+ *
+ * Use of this source code is governed by a BSD-style license that can be
+ * found in the LICENSE file.
+ */
+#ifndef SkPathWriter_DEFINED
+#define SkPathWriter_DEFINED
+
+#include "SkPath.h"
+
+class SkPathWriter {
+public:
+ SkPathWriter(SkPath& path);
+ void close();
+ void cubicTo(const SkPoint& pt1, const SkPoint& pt2, const SkPoint& pt3);
+ void deferredLine(const SkPoint& pt);
+ void deferredMove(const SkPoint& pt);
+ void deferredMoveLine(const SkPoint& pt);
+ bool hasMove() const;
+ void init();
+ bool isClosed() const;
+ void lineTo();
+ const SkPath* nativePath() const;
+ void nudge();
+ void quadTo(const SkPoint& pt1, const SkPoint& pt2);
+ bool someAssemblyRequired() const;
+
+private:
+ bool changedSlopes(const SkPoint& pt) const;
+ void moveTo();
+
+ SkPath* fPathPtr;
+ SkPoint fDefer[2];
+ SkPoint fFirstPt;
+ int fCloses;
+ int fMoves;
+ bool fEmpty;
+ bool fHasMove;
+ bool fMoved;
+};
+
+
+#endif /* defined(__PathOps__SkPathWriter__) */