| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright 2015 Google Inc. | 2 * Copyright 2015 Google Inc. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license that can be | 4 * Use of this source code is governed by a BSD-style license that can be |
| 5 * found in the LICENSE file. | 5 * found in the LICENSE file. |
| 6 */ | 6 */ |
| 7 | 7 |
| 8 #ifndef GrTextBlobCache_DEFINED | 8 #ifndef GrTextBlobCache_DEFINED |
| 9 #define GrTextBlobCache_DEFINED | 9 #define GrTextBlobCache_DEFINED |
| 10 | 10 |
| (...skipping 14 matching lines...) Expand all Loading... |
| 25 GrTextBlobCache(PFOverBudgetCB cb, void* data) | 25 GrTextBlobCache(PFOverBudgetCB cb, void* data) |
| 26 : fPool(kPreAllocSize, kMinGrowthSize) | 26 : fPool(kPreAllocSize, kMinGrowthSize) |
| 27 , fCallback(cb) | 27 , fCallback(cb) |
| 28 , fData(data) { | 28 , fData(data) { |
| 29 SkASSERT(cb && data); | 29 SkASSERT(cb && data); |
| 30 } | 30 } |
| 31 ~GrTextBlobCache(); | 31 ~GrTextBlobCache(); |
| 32 | 32 |
| 33 // creates an uncached blob | 33 // creates an uncached blob |
| 34 BitmapTextBlob* createBlob(int glyphCount, int runCount, size_t maxVASize); | 34 BitmapTextBlob* createBlob(int glyphCount, int runCount, size_t maxVASize); |
| 35 BitmapTextBlob* createBlob(const SkTextBlob* blob, size_t maxVAStride) { |
| 36 int glyphCount = 0; |
| 37 int runCount = 0; |
| 38 BlobGlyphCount(&glyphCount, &runCount, blob); |
| 39 BitmapTextBlob* cacheBlob = this->createBlob(glyphCount, runCount, maxVA
Stride); |
| 40 return cacheBlob; |
| 41 } |
| 35 | 42 |
| 36 BitmapTextBlob* createCachedBlob(const SkTextBlob* blob, size_t maxVAStride)
{ | 43 BitmapTextBlob* createCachedBlob(const SkTextBlob* blob, size_t maxVAStride)
{ |
| 37 int glyphCount = 0; | 44 int glyphCount = 0; |
| 38 int runCount = 0; | 45 int runCount = 0; |
| 39 BlobGlyphCount(&glyphCount, &runCount, blob); | 46 BlobGlyphCount(&glyphCount, &runCount, blob); |
| 40 BitmapTextBlob* cacheBlob = this->createBlob(glyphCount, runCount, maxVA
Stride); | 47 BitmapTextBlob* cacheBlob = this->createBlob(glyphCount, runCount, maxVA
Stride); |
| 41 cacheBlob->fUniqueID = blob->uniqueID(); | 48 cacheBlob->fUniqueID = blob->uniqueID(); |
| 42 this->add(cacheBlob); | 49 this->add(cacheBlob); |
| 43 return cacheBlob; | 50 return cacheBlob; |
| 44 } | 51 } |
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 static const int kMinGrowthSize = 1 << 17; | 120 static const int kMinGrowthSize = 1 << 17; |
| 114 static const int kBudget = 1 << 22; | 121 static const int kBudget = 1 << 22; |
| 115 BitmapBlobList fBlobList; | 122 BitmapBlobList fBlobList; |
| 116 SkTDynamicHash<BitmapTextBlob, uint32_t> fCache; | 123 SkTDynamicHash<BitmapTextBlob, uint32_t> fCache; |
| 117 GrMemoryPool fPool; | 124 GrMemoryPool fPool; |
| 118 PFOverBudgetCB fCallback; | 125 PFOverBudgetCB fCallback; |
| 119 void* fData; | 126 void* fData; |
| 120 }; | 127 }; |
| 121 | 128 |
| 122 #endif | 129 #endif |
| OLD | NEW |