aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkTextToPathIter.h
diff options
context:
space:
mode:
authorGravatar Herb Derby <herb@google.com>2018-03-05 14:23:47 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2018-03-07 16:24:20 +0000
commit61d56b92a4076f8afd644d015913641d691e39c8 (patch)
tree2d01f6a6eac0a678f99863ba3354e5bbf14ce584 /src/core/SkTextToPathIter.h
parent78cb579f33943421afc8423a39867fcfd69fed44 (diff)
Remove attach and detach glyph cache.
BUG=skia:7515 Change-Id: Ib978e3cf4cfffdefe6453feb520e5e73684abf2e Reviewed-on: https://skia-review.googlesource.com/112560 Reviewed-by: Ben Wagner <bungeman@google.com> Commit-Queue: Herb Derby <herb@google.com>
Diffstat (limited to 'src/core/SkTextToPathIter.h')
-rw-r--r--src/core/SkTextToPathIter.h19
1 files changed, 9 insertions, 10 deletions
diff --git a/src/core/SkTextToPathIter.h b/src/core/SkTextToPathIter.h
index 6de12a84ce..8bcbc21b4d 100644
--- a/src/core/SkTextToPathIter.h
+++ b/src/core/SkTextToPathIter.h
@@ -9,22 +9,21 @@
#define SkTextToPathIter_DEFINED
#include "SkAutoKern.h"
+#include "SkGlyphCache.h"
#include "SkPaint.h"
-class SkGlyphCache;
class SkTextBaseIter {
protected:
SkTextBaseIter(const char text[], size_t length, const SkPaint& paint,
bool applyStrokeAndPathEffects);
- ~SkTextBaseIter();
-
- SkGlyphCache* fCache;
- SkPaint fPaint;
- SkScalar fScale;
- SkScalar fPrevAdvance;
- const char* fText;
- const char* fStop;
+
+ SkExclusiveStrikePtr fCache;
+ SkPaint fPaint;
+ SkScalar fScale;
+ SkScalar fPrevAdvance;
+ const char* fText;
+ const char* fStop;
SkPaint::GlyphCacheProc fGlyphCacheProc;
SkScalar fXPos; // accumulated xpos, returned in next
@@ -74,7 +73,7 @@ public:
if (TextType::kPosText == fTextType
&& fPaint.getTextAlign() != SkPaint::kLeft_Align) { // need to measure first
const char* text = fText;
- const SkGlyph& glyph = fGlyphCacheProc(fCache, &text);
+ const SkGlyph& glyph = fGlyphCacheProc(fCache.get(), &text);
SkScalar width = (&glyph.fAdvanceX)[0] * fScale;
if (fPaint.getTextAlign() == SkPaint::kCenter_Align) {
width = SkScalarHalf(width);