Index: src/gpu/GrAtlasTextContext.h |
diff --git a/src/gpu/GrAtlasTextContext.h b/src/gpu/GrAtlasTextContext.h |
index 20f747ff15c22e8d91f3c7f31fbf1d8cd80d7e47..82283bcf2413e0ed7b18ab29fb8f76dccbba49cb 100644 |
--- a/src/gpu/GrAtlasTextContext.h |
+++ b/src/gpu/GrAtlasTextContext.h |
@@ -11,6 +11,7 @@ |
#include "GrTextContext.h" |
#include "GrAtlasTextBlob.h" |
+#include "GrDistanceFieldAdjustTable.h" |
#include "GrGeometryProcessor.h" |
#include "SkTextBlobRunIterator.h" |
@@ -148,29 +149,9 @@ private: |
const SkPoint& offset, |
const SkIRect& regionClipBounds); |
- // Distance field text needs this table to compute a value for use in the fragment shader. |
- // Because the GrAtlasTextContext can go out of scope before the final flush, this needs to be |
- // refcnted and malloced |
- struct DistanceAdjustTable : public SkNVRefCnt<DistanceAdjustTable> { |
- DistanceAdjustTable() { this->buildDistanceAdjustTable(); } |
- ~DistanceAdjustTable() { delete[] fTable; } |
- |
- const SkScalar& operator[] (int i) const { |
- return fTable[i]; |
- } |
- |
- private: |
- void buildDistanceAdjustTable(); |
- |
- SkScalar* fTable; |
- }; |
- |
GrBatchTextStrike* fCurrStrike; |
GrTextBlobCache* fCache; |
- SkAutoTUnref<const DistanceAdjustTable> fDistanceAdjustTable; |
- |
- friend class GrTextBlobCache; |
- friend class GrAtlasTextBatch; |
+ SkAutoTUnref<const GrDistanceFieldAdjustTable> fDistanceAdjustTable; |
#ifdef GR_TEST_UTILS |
DRAW_BATCH_TEST_FRIEND(TextBlobBatch); |