| Index: src/gpu/text/GrStencilAndCoverTextContext.h
|
| diff --git a/src/gpu/text/GrStencilAndCoverTextContext.h b/src/gpu/text/GrStencilAndCoverTextContext.h
|
| index dab71e057859f798ca3258ce390055d1aee57fad..bc00a744062bec73ea77c1116fa35fe6fb750b7d 100644
|
| --- a/src/gpu/text/GrStencilAndCoverTextContext.h
|
| +++ b/src/gpu/text/GrStencilAndCoverTextContext.h
|
| @@ -16,6 +16,7 @@
|
| #include "SkTLList.h"
|
| #include "batches/GrDrawPathBatch.h"
|
|
|
| +class GrAtlasTextContext;
|
| class GrTextStrike;
|
| class GrPath;
|
| class SkSurfaceProps;
|
| @@ -29,30 +30,38 @@ class GrStencilAndCoverTextContext : public GrTextContext {
|
| public:
|
| static GrStencilAndCoverTextContext* Create(GrContext*, const SkSurfaceProps&);
|
|
|
| + void drawText(GrDrawContext* dc,
|
| + const GrClip&, const GrPaint&, const SkPaint&,
|
| + const SkMatrix& viewMatrix, const char text[], size_t byteLength, SkScalar x,
|
| + SkScalar y, const SkIRect& clipBounds) override;
|
| + void drawPosText(GrDrawContext*,
|
| + const GrClip&, const GrPaint&, const SkPaint&,
|
| + const SkMatrix& viewMatrix,
|
| + const char text[], size_t byteLength,
|
| + const SkScalar pos[], int scalarsPerPosition,
|
| + const SkPoint& offset, const SkIRect& clipBounds) override;
|
| + void drawTextBlob(GrDrawContext*, const GrClip&, const SkPaint&,
|
| + const SkMatrix& viewMatrix, const SkTextBlob*, SkScalar x, SkScalar y,
|
| + SkDrawFilter*, const SkIRect& clipBounds) override;
|
| +
|
| virtual ~GrStencilAndCoverTextContext();
|
|
|
| private:
|
| GrStencilAndCoverTextContext(GrContext*, const SkSurfaceProps&);
|
|
|
| - bool canDraw(const SkPaint& skPaint, const SkMatrix&) override {
|
| + bool canDraw(const SkPaint& skPaint, const SkMatrix&) {
|
| return this->internalCanDraw(skPaint);
|
| }
|
|
|
| bool internalCanDraw(const SkPaint&);
|
|
|
| - void onDrawText(GrDrawContext*, const GrClip&, const GrPaint&, const SkPaint&,
|
| - const SkMatrix& viewMatrix,
|
| - const char text[], size_t byteLength,
|
| - SkScalar x, SkScalar y, const SkIRect& clipBounds) override;
|
| - void onDrawPosText(GrDrawContext*,
|
| - const GrClip&, const GrPaint&, const SkPaint&,
|
| - const SkMatrix& viewMatrix,
|
| - const char text[], size_t byteLength,
|
| - const SkScalar pos[], int scalarsPerPosition,
|
| - const SkPoint& offset, const SkIRect& clipBounds) override;
|
| - void drawTextBlob(GrDrawContext*, const GrClip&, const SkPaint&,
|
| - const SkMatrix& viewMatrix, const SkTextBlob*, SkScalar x, SkScalar y,
|
| - SkDrawFilter*, const SkIRect& clipBounds) override;
|
| + void uncachedDrawTextBlob(GrDrawContext* dc,
|
| + const GrClip& clip, const SkPaint& skPaint,
|
| + const SkMatrix& viewMatrix,
|
| + const SkTextBlob* blob,
|
| + SkScalar x, SkScalar y,
|
| + SkDrawFilter* drawFilter,
|
| + const SkIRect& clipBounds);
|
|
|
| class FallbackBlobBuilder;
|
|
|
| @@ -134,6 +143,7 @@ private:
|
| const TextBlob& findOrCreateTextBlob(const SkTextBlob*, const SkPaint&);
|
| void purgeToFit(const TextBlob&);
|
|
|
| + GrAtlasTextContext* fFallbackTextContext;
|
| SkTHashMap<uint32_t, TextBlob*> fBlobIdCache;
|
| SkTHashTable<TextBlob*, const TextBlob::Key&, TextBlob> fBlobKeyCache;
|
| SkTInternalLList<TextBlob> fLRUList;
|
|
|