| Index: src/gpu/GrStencilAndCoverTextContext.h
|
| diff --git a/src/gpu/GrStencilAndCoverTextContext.h b/src/gpu/GrStencilAndCoverTextContext.h
|
| index 021a84d8760d31d8bebe15c25982cd7e2de3cd56..08d7526b7e390d20e70ef86a75645abad70da2f8 100644
|
| --- a/src/gpu/GrStencilAndCoverTextContext.h
|
| +++ b/src/gpu/GrStencilAndCoverTextContext.h
|
| @@ -10,6 +10,7 @@
|
|
|
| #include "GrTextContext.h"
|
| #include "GrDrawState.h"
|
| +#include "GrDrawTarget.h"
|
| #include "SkStrokeRec.h"
|
|
|
| class GrTextStrike;
|
| @@ -39,21 +40,29 @@ private:
|
| class GlyphPathRange;
|
| static const int kGlyphBufferSize = 1024;
|
|
|
| - void init(const GrPaint&, const SkPaint&, size_t textByteLength);
|
| + enum DeviceSpaceGlyphsBehavior {
|
| + kUseIfNeeded_DeviceSpaceGlyphsBehavior,
|
| + kDoNotUse_DeviceSpaceGlyphsBehavior,
|
| + };
|
| + void init(const GrPaint&, const SkPaint&, size_t textByteLength,
|
| + DeviceSpaceGlyphsBehavior, SkScalar textTranslateY = 0);
|
| void initGlyphs(SkGlyphCache* cache);
|
| + void appendGlyph(uint16_t glyphID, float x);
|
| void appendGlyph(uint16_t glyphID, float x, float y);
|
| void flush();
|
| void finish();
|
|
|
| GrDrawState::AutoRestoreEffects fStateRestore;
|
| SkScalar fTextRatio;
|
| + float fTextInverseRatio;
|
| SkStrokeRec fStroke;
|
| SkGlyphCache* fGlyphCache;
|
| GlyphPathRange* fGlyphs;
|
| uint32_t fIndexBuffer[kGlyphBufferSize];
|
| - float fTransformBuffer[6 * kGlyphBufferSize];
|
| + float fTransformBuffer[2 * kGlyphBufferSize];
|
| + GrDrawTarget::PathTransformType fTransformType;
|
| int fPendingGlyphCount;
|
| - SkMatrix fGlyphTransform;
|
| + SkMatrix fContextInitialMatrix;
|
| bool fNeedsDeviceSpaceGlyphs;
|
| };
|
|
|
|
|