Chromium Code Reviews| Index: src/gpu/GrAtlasTextContext.h |
| diff --git a/src/gpu/GrAtlasTextContext.h b/src/gpu/GrAtlasTextContext.h |
| index c999e1f0afb34642eea402b2f8864c6f790e4957..4157e24bdf0a35f2c71bcc8f1244dcdd0993b874 100644 |
| --- a/src/gpu/GrAtlasTextContext.h |
| +++ b/src/gpu/GrAtlasTextContext.h |
| @@ -127,8 +127,8 @@ private: |
| mutable SkScalar fTotalXError; |
| mutable SkScalar fTotalYError; |
| #endif |
| + SkColor fPaintColor; |
| SkTArray<BigGlyph> fBigGlyphs; |
| - GrColor fColor; // the original color on the paint |
| SkMatrix fViewMatrix; |
| SkScalar fX; |
| SkScalar fY; |
| @@ -154,6 +154,10 @@ private: |
| uint32_t fUniqueID; |
| SkPaint::Style fStyle; |
| bool fHasBlur; |
|
reed1
2015/04/13 17:05:51
I know there is a memset(0) at the beginning (btw
|
| + // Color may affect the gamma of the mask we generate, but in a fairly limited way. |
| + // There are a certain number of buckets, and within those buckets we can reassign the |
|
bsalomon
2015/04/13 15:16:38
Replace second sentence with
Each color is assign
|
| + // color as desired. This functionality is currently only supported for A8 |
| + SkColor fCanonicalColor; |
| bool operator==(const Key& other) const { |
| return 0 == memcmp(this, &other, sizeof(Key)); |
| @@ -207,23 +211,27 @@ private: |
| const GrPaint&, const GrClip&, const SkMatrix& viewMatrix); |
| void internalDrawText(BitmapTextBlob*, int runIndex, SkGlyphCache*, const SkPaint&, |
| - const SkMatrix& viewMatrix, const char text[], size_t byteLength, |
| + GrColor color, const SkMatrix& viewMatrix, |
| + const char text[], size_t byteLength, |
| SkScalar x, SkScalar y, const SkIRect& clipRect); |
| void internalDrawPosText(BitmapTextBlob*, int runIndex, SkGlyphCache*, const SkPaint&, |
| - const SkMatrix& viewMatrix, |
| + GrColor color, const SkMatrix& viewMatrix, |
| const char text[], size_t byteLength, |
| const SkScalar pos[], int scalarsPerPosition, |
| const SkPoint& offset, const SkIRect& clipRect); |
| // sets up the descriptor on the blob and returns a detached cache. Client must attach |
| + inline static GrColor ComputeCanonicalColor(const SkPaint&, bool lcd); |
| inline SkGlyphCache* setupCache(Run*, const SkPaint&, const SkMatrix& viewMatrix); |
| static inline bool MustRegenerateBlob(SkScalar* outTransX, SkScalar* outTransY, |
| const BitmapTextBlob&, const SkPaint&, |
| const SkMaskFilter::BlurRec&, |
| const SkMatrix& viewMatrix, SkScalar x, SkScalar y); |
| - void regenerateTextBlob(BitmapTextBlob* bmp, const SkPaint& skPaint, const SkMatrix& viewMatrix, |
| + void regenerateTextBlob(BitmapTextBlob* bmp, const SkPaint& skPaint, GrColor, |
| + const SkMatrix& viewMatrix, |
| const SkTextBlob* blob, SkScalar x, SkScalar y, |
| SkDrawFilter* drawFilter, const SkIRect& clipRect); |
| + inline static bool HasLCD(const SkTextBlob*); |
| GrBatchTextStrike* fCurrStrike; |
| GrTextBlobCache* fCache; |