| Index: src/gpu/GrStencilAndCoverTextContext.h | 
| diff --git a/src/gpu/GrStencilAndCoverTextContext.h b/src/gpu/GrStencilAndCoverTextContext.h | 
| new file mode 100644 | 
| index 0000000000000000000000000000000000000000..2e79f5c9b7e43f59dcf5234bd780eb81de6e5616 | 
| --- /dev/null | 
| +++ b/src/gpu/GrStencilAndCoverTextContext.h | 
| @@ -0,0 +1,54 @@ | 
| +/* | 
| + * Copyright 2014 Google Inc. | 
| + * | 
| + * Use of this source code is governed by a BSD-style license that can be | 
| + * found in the LICENSE file. | 
| + */ | 
| + | 
| +#ifndef GrStencilAndCoverTextContext_DEFINED | 
| +#define GrStencilAndCoverTextContext_DEFINED | 
| + | 
| +#include "GrTextContext.h" | 
| +#include "GrDrawState.h" | 
| +#include "SkStrokeRec.h" | 
| + | 
| +class GrTextStrike; | 
| +class GrPath; | 
| + | 
| +/* | 
| + * This class implements text rendering using stencil and cover path rendering | 
| + * (by the means of GrDrawTarget::drawPath). | 
| + * This class exposes the functionality through GrTextContext interface. | 
| + */ | 
| +class GrStencilAndCoverTextContext : public GrTextContext { | 
| +public: | 
| +    GrStencilAndCoverTextContext(GrContext*, const SkDeviceProperties&); | 
| +    virtual ~GrStencilAndCoverTextContext(); | 
| + | 
| +    virtual void drawText(const GrPaint&, const SkPaint&, const char text[], | 
| +                          size_t byteLength, | 
| +                          SkScalar x, SkScalar y) SK_OVERRIDE; | 
| +    virtual void drawPosText(const GrPaint&, const SkPaint&, | 
| +                             const char text[], size_t byteLength, | 
| +                             const SkScalar pos[], SkScalar constY, | 
| +                             int scalarsPerPosition) SK_OVERRIDE; | 
| + | 
| +    virtual bool canDraw(const SkPaint& paint) SK_OVERRIDE; | 
| + | 
| +private: | 
| +    void init(const GrPaint&, const SkPaint&, size_t textByteLength); | 
| +    void appendGlyph(GrGlyph::PackedID, const SkPoint&, | 
| +                     GrTextStrike*, GrFontScaler*); | 
| +    void finish(); | 
| + | 
| +    GrDrawState::AutoRestoreEffects fStateRestore; | 
| +    SkScalar fTextRatio; | 
| +    SkStrokeRec fStroke; | 
| +    SkTDArray<const GrPath*> fPaths; | 
| +    SkTDArray<SkMatrix> fTransforms; | 
| +    SkPath fTmpPath; | 
| +    SkMatrix fGlyphTransform; | 
| +    bool fNeedsDeviceSpaceGlyphs; | 
| +}; | 
| + | 
| +#endif | 
|  |