diff options
Diffstat (limited to 'src/gpu/text/GrAtlasTextContext.h')
-rw-r--r-- | src/gpu/text/GrAtlasTextContext.h | 55 |
1 files changed, 31 insertions, 24 deletions
diff --git a/src/gpu/text/GrAtlasTextContext.h b/src/gpu/text/GrAtlasTextContext.h index f2536b34db..c4948db8f6 100644 --- a/src/gpu/text/GrAtlasTextContext.h +++ b/src/gpu/text/GrAtlasTextContext.h @@ -31,50 +31,57 @@ class SkGlyph; */ class GrAtlasTextContext : public GrTextContext { public: - static GrAtlasTextContext* Create(GrContext*); + static GrAtlasTextContext* Create(); - bool canDraw(const SkPaint&, const SkMatrix& viewMatrix, const SkSurfaceProps&); - void drawText(GrDrawContext*, const GrClip&, const GrPaint&, const SkPaint&, + bool canDraw(const SkPaint&, const SkMatrix& viewMatrix, const SkSurfaceProps&, + const GrShaderCaps&); + void drawText(GrContext*, GrDrawContext*, const GrClip&, const GrPaint&, const SkPaint&, const SkMatrix& viewMatrix, const SkSurfaceProps&, const char text[], size_t byteLength, SkScalar x, SkScalar y, const SkIRect& regionClipBounds) override; - void drawPosText(GrDrawContext*, const GrClip&, const GrPaint&, + void drawPosText(GrContext*, GrDrawContext*, const GrClip&, const GrPaint&, const SkPaint&, const SkMatrix& viewMatrix, const SkSurfaceProps&, const char text[], size_t byteLength, const SkScalar pos[], int scalarsPerPosition, const SkPoint& offset, const SkIRect& regionClipBounds) override; - void drawTextBlob(GrDrawContext*, const GrClip&, const SkPaint&, + void drawTextBlob(GrContext*, GrDrawContext*, const GrClip&, const SkPaint&, const SkMatrix& viewMatrix, const SkSurfaceProps&, const SkTextBlob*, SkScalar x, SkScalar y, SkDrawFilter*, const SkIRect& clipBounds) override; private: - GrAtlasTextContext(GrContext*); + GrAtlasTextContext(); // sets up the descriptor on the blob and returns a detached cache. Client must attach inline static GrColor ComputeCanonicalColor(const SkPaint&, bool lcd); - void regenerateTextBlob(GrAtlasTextBlob* bmp, const SkPaint& skPaint, GrColor, - const SkMatrix& viewMatrix, - const SkSurfaceProps&, - const SkTextBlob* blob, SkScalar x, SkScalar y, - SkDrawFilter* drawFilter); + static void RegenerateTextBlob(GrAtlasTextBlob* bmp, + GrBatchFontCache*, + const GrShaderCaps&, + const SkPaint& skPaint, GrColor, + const SkMatrix& viewMatrix, + const SkSurfaceProps&, + const SkTextBlob* blob, SkScalar x, SkScalar y, + SkDrawFilter* drawFilter); inline static bool HasLCD(const SkTextBlob*); - // Test methods - inline GrAtlasTextBlob* createDrawTextBlob(const GrPaint&, - const SkPaint&, const SkMatrix& viewMatrix, - const SkSurfaceProps&, - const char text[], size_t byteLength, - SkScalar x, SkScalar y); - inline GrAtlasTextBlob* createDrawPosTextBlob(const GrPaint&, - const SkPaint&, const SkMatrix& viewMatrix, - const SkSurfaceProps&, - const char text[], size_t byteLength, - const SkScalar pos[], int scalarsPerPosition, - const SkPoint& offset); + static inline GrAtlasTextBlob* CreateDrawTextBlob(GrTextBlobCache*, + GrBatchFontCache*, const GrShaderCaps&, + const GrPaint&, + const SkPaint&, const SkMatrix& viewMatrix, + const SkSurfaceProps&, + const char text[], size_t byteLength, + SkScalar x, SkScalar y); + static inline GrAtlasTextBlob* CreateDrawPosTextBlob(GrTextBlobCache*, GrBatchFontCache*, + const GrShaderCaps&, + const GrPaint&, + const SkPaint&, const SkMatrix& viewMatrix, + const SkSurfaceProps&, + const char text[], size_t byteLength, + const SkScalar pos[], + int scalarsPerPosition, + const SkPoint& offset); const GrDistanceFieldAdjustTable* dfAdjustTable() const { return fDistanceAdjustTable; } - GrTextBlobCache* fCache; SkAutoTUnref<const GrDistanceFieldAdjustTable> fDistanceAdjustTable; #ifdef GR_TEST_UTILS |