| Index: src/core/SkTextBlobRunIterator.h
|
| diff --git a/src/core/SkTextBlobRunIterator.h b/src/core/SkTextBlobRunIterator.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..42bbac0bc9d647693483deb38a89ce4491b4ef35
|
| --- /dev/null
|
| +++ b/src/core/SkTextBlobRunIterator.h
|
| @@ -0,0 +1,40 @@
|
| +/*
|
| + * Copyright 2015 Google Inc.
|
| + *
|
| + * Use of this source code is governed by a BSD-style license that can be
|
| + * found in the LICENSE file.
|
| + */
|
| +#ifndef SkTextBlobRunIterator_DEFINED
|
| +#define SkTextBlobRunIterator_DEFINED
|
| +
|
| +#include "SkTextBlob.h"
|
| +
|
| +/**
|
| + * Iterate through all of the text runs of the text blob. For example:
|
| + * for (SkTextBlobRunIterator it(blob); !it.done(); it.next()) {
|
| + * .....
|
| + * }
|
| + */
|
| +class SkTextBlobRunIterator {
|
| +public:
|
| + SkTextBlobRunIterator(const SkTextBlob* blob);
|
| +
|
| + bool done() const;
|
| + void next();
|
| +
|
| + uint32_t glyphCount() const;
|
| + const uint16_t* glyphs() const;
|
| + const SkScalar* pos() const;
|
| + const SkPoint& offset() const;
|
| + void applyFontToPaint(SkPaint*) const;
|
| + SkTextBlob::GlyphPositioning positioning() const;
|
| + bool isLCD() const;
|
| +
|
| +private:
|
| + const SkTextBlob::RunRecord* fCurrentRun;
|
| + int fRemainingRuns;
|
| +
|
| + SkDEBUGCODE(uint8_t* fStorageTop;)
|
| +};
|
| +
|
| +#endif // SkTextBlobRunIterator_DEFINED
|
|
|