| OLD | NEW |
| 1 | 1 |
| 2 /* | 2 /* |
| 3 * Copyright 2006 The Android Open Source Project | 3 * Copyright 2006 The Android Open Source Project |
| 4 * | 4 * |
| 5 * Use of this source code is governed by a BSD-style license that can be | 5 * Use of this source code is governed by a BSD-style license that can be |
| 6 * found in the LICENSE file. | 6 * found in the LICENSE file. |
| 7 */ | 7 */ |
| 8 | 8 |
| 9 | 9 |
| 10 #ifndef SkGlyphCache_DEFINED | 10 #ifndef SkGlyphCache_DEFINED |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 114 deleted. | 114 deleted. |
| 115 */ | 115 */ |
| 116 | 116 |
| 117 //! If the proc is found, return true and set *dataPtr to its data | 117 //! If the proc is found, return true and set *dataPtr to its data |
| 118 bool getAuxProcData(void (*auxProc)(void*), void** dataPtr) const; | 118 bool getAuxProcData(void (*auxProc)(void*), void** dataPtr) const; |
| 119 //! Add a proc/data pair to the glyphcache. proc should be non-null | 119 //! Add a proc/data pair to the glyphcache. proc should be non-null |
| 120 void setAuxProc(void (*auxProc)(void*), void* auxData); | 120 void setAuxProc(void (*auxProc)(void*), void* auxData); |
| 121 | 121 |
| 122 SkScalerContext* getScalerContext() const { return fScalerContext; } | 122 SkScalerContext* getScalerContext() const { return fScalerContext; } |
| 123 | 123 |
| 124 /** Call proc on all cache entries, stopping early if proc returns true. | |
| 125 The proc should not create or delete caches, since it could produce | |
| 126 deadlock. | |
| 127 */ | |
| 128 static void VisitAllCaches(bool (*proc)(SkGlyphCache*, void*), void* ctx); | |
| 129 | |
| 130 /** Find a matching cache entry, and call proc() with it. If none is found | 124 /** Find a matching cache entry, and call proc() with it. If none is found |
| 131 create a new one. If the proc() returns true, detach the cache and | 125 create a new one. If the proc() returns true, detach the cache and |
| 132 return it, otherwise leave it and return NULL. | 126 return it, otherwise leave it and return NULL. |
| 133 */ | 127 */ |
| 134 static SkGlyphCache* VisitCache(SkTypeface*, const SkDescriptor* desc, | 128 static SkGlyphCache* VisitCache(SkTypeface*, const SkDescriptor* desc, |
| 135 bool (*proc)(const SkGlyphCache*, void*), | 129 bool (*proc)(const SkGlyphCache*, void*), |
| 136 void* context); | 130 void* context); |
| 137 | 131 |
| 138 /** Given a strike that was returned by either VisitCache() or DetachCache() | 132 /** Given a strike that was returned by either VisitCache() or DetachCache() |
| 139 add it back into the global cache list (after which the caller should | 133 add it back into the global cache list (after which the caller should |
| (...skipping 160 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 300 const SkMatrix* matrix) { | 294 const SkMatrix* matrix) { |
| 301 fCache = paint.detachCache(deviceProperties, matrix, true); | 295 fCache = paint.detachCache(deviceProperties, matrix, true); |
| 302 } | 296 } |
| 303 | 297 |
| 304 private: | 298 private: |
| 305 SkAutoGlyphCacheNoGamma() : SkAutoGlyphCacheBase() {} | 299 SkAutoGlyphCacheNoGamma() : SkAutoGlyphCacheBase() {} |
| 306 }; | 300 }; |
| 307 #define SkAutoGlyphCacheNoGamma(...) SK_REQUIRE_LOCAL_VAR(SkAutoGlyphCacheNoGamm
a) | 301 #define SkAutoGlyphCacheNoGamma(...) SK_REQUIRE_LOCAL_VAR(SkAutoGlyphCacheNoGamm
a) |
| 308 | 302 |
| 309 #endif | 303 #endif |
| OLD | NEW |