diff options
Diffstat (limited to 'src/pathops/SkPathWriter.h')
-rw-r--r-- | src/pathops/SkPathWriter.h | 44 |
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__) */ |