Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(802)

Side by Side Diff: src/core/SkGlyphCache.h

Issue 1196683003: remove SkDeviceProperties (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Clean up Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright 2006 The Android Open Source Project 2 * Copyright 2006 The Android Open Source Project
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 SkGlyphCache_DEFINED 8 #ifndef SkGlyphCache_DEFINED
9 #define SkGlyphCache_DEFINED 9 #define SkGlyphCache_DEFINED
10 10
11 #include "SkBitmap.h" 11 #include "SkBitmap.h"
12 #include "SkChecksum.h" 12 #include "SkChecksum.h"
13 #include "SkChunkAlloc.h" 13 #include "SkChunkAlloc.h"
14 #include "SkDescriptor.h" 14 #include "SkDescriptor.h"
15 #include "SkGlyph.h" 15 #include "SkGlyph.h"
16 #include "SkScalerContext.h" 16 #include "SkScalerContext.h"
17 #include "SkTemplates.h" 17 #include "SkTemplates.h"
18 #include "SkTDArray.h" 18 #include "SkTDArray.h"
19 19
20 struct SkDeviceProperties;
21 class SkPaint; 20 class SkPaint;
22 21
23 class SkGlyphCache_Globals; 22 class SkGlyphCache_Globals;
24 23
25 // Enable this locally to add stats for hash-table hit rates. It also extends th e dump() 24 // Enable this locally to add stats for hash-table hit rates. It also extends th e dump()
26 // output to show those stats. 25 // output to show those stats.
27 //#define SK_GLYPHCACHE_TRACK_HASH_STATS 26 //#define SK_GLYPHCACHE_TRACK_HASH_STATS
28 27
29 /** \class SkGlyphCache 28 /** \class SkGlyphCache
30 29
(...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
269 } 268 }
270 269
271 protected: 270 protected:
272 // Hide the constructors so we can't create one of these directly. 271 // Hide the constructors so we can't create one of these directly.
273 // Create SkAutoGlyphCache or SkAutoGlyphCacheNoCache instead. 272 // Create SkAutoGlyphCache or SkAutoGlyphCacheNoCache instead.
274 SkAutoGlyphCacheBase(SkGlyphCache* cache) : fCache(cache) {} 273 SkAutoGlyphCacheBase(SkGlyphCache* cache) : fCache(cache) {}
275 SkAutoGlyphCacheBase(SkTypeface* typeface, const SkDescriptor* desc) { 274 SkAutoGlyphCacheBase(SkTypeface* typeface, const SkDescriptor* desc) {
276 fCache = SkGlyphCache::DetachCache(typeface, desc); 275 fCache = SkGlyphCache::DetachCache(typeface, desc);
277 } 276 }
278 SkAutoGlyphCacheBase(const SkPaint& /*paint*/, 277 SkAutoGlyphCacheBase(const SkPaint& /*paint*/,
279 const SkDeviceProperties* /*deviceProperties*/, 278 const SkSurfaceProps* /*surfaceProps*/,
280 const SkMatrix* /*matrix*/) { 279 const SkMatrix* /*matrix*/) {
281 fCache = NULL; 280 fCache = NULL;
282 } 281 }
283 SkAutoGlyphCacheBase() { 282 SkAutoGlyphCacheBase() {
284 fCache = NULL; 283 fCache = NULL;
285 } 284 }
286 ~SkAutoGlyphCacheBase() { 285 ~SkAutoGlyphCacheBase() {
287 if (fCache) { 286 if (fCache) {
288 SkGlyphCache::AttachCache(fCache); 287 SkGlyphCache::AttachCache(fCache);
289 } 288 }
290 } 289 }
291 290
292 SkGlyphCache* fCache; 291 SkGlyphCache* fCache;
293 292
294 private: 293 private:
295 static bool DetachProc(const SkGlyphCache*, void*); 294 static bool DetachProc(const SkGlyphCache*, void*);
296 }; 295 };
297 296
298 class SkAutoGlyphCache : public SkAutoGlyphCacheBase { 297 class SkAutoGlyphCache : public SkAutoGlyphCacheBase {
299 public: 298 public:
300 SkAutoGlyphCache(SkGlyphCache* cache) : SkAutoGlyphCacheBase(cache) {} 299 SkAutoGlyphCache(SkGlyphCache* cache) : SkAutoGlyphCacheBase(cache) {}
301 SkAutoGlyphCache(SkTypeface* typeface, const SkDescriptor* desc) : 300 SkAutoGlyphCache(SkTypeface* typeface, const SkDescriptor* desc) :
302 SkAutoGlyphCacheBase(typeface, desc) {} 301 SkAutoGlyphCacheBase(typeface, desc) {}
303 SkAutoGlyphCache(const SkPaint& paint, 302 SkAutoGlyphCache(const SkPaint& paint,
304 const SkDeviceProperties* deviceProperties, 303 const SkSurfaceProps* surfaceProps,
305 const SkMatrix* matrix) { 304 const SkMatrix* matrix) {
306 fCache = paint.detachCache(deviceProperties, matrix, false); 305 fCache = paint.detachCache(surfaceProps, matrix, false);
307 } 306 }
308 307
309 private: 308 private:
310 SkAutoGlyphCache() : SkAutoGlyphCacheBase() {} 309 SkAutoGlyphCache() : SkAutoGlyphCacheBase() {}
311 }; 310 };
312 #define SkAutoGlyphCache(...) SK_REQUIRE_LOCAL_VAR(SkAutoGlyphCache) 311 #define SkAutoGlyphCache(...) SK_REQUIRE_LOCAL_VAR(SkAutoGlyphCache)
313 312
314 class SkAutoGlyphCacheNoGamma : public SkAutoGlyphCacheBase { 313 class SkAutoGlyphCacheNoGamma : public SkAutoGlyphCacheBase {
315 public: 314 public:
316 SkAutoGlyphCacheNoGamma(SkGlyphCache* cache) : SkAutoGlyphCacheBase(cache) { } 315 SkAutoGlyphCacheNoGamma(SkGlyphCache* cache) : SkAutoGlyphCacheBase(cache) { }
317 SkAutoGlyphCacheNoGamma(SkTypeface* typeface, const SkDescriptor* desc) : 316 SkAutoGlyphCacheNoGamma(SkTypeface* typeface, const SkDescriptor* desc) :
318 SkAutoGlyphCacheBase(typeface, desc) {} 317 SkAutoGlyphCacheBase(typeface, desc) {}
319 SkAutoGlyphCacheNoGamma(const SkPaint& paint, 318 SkAutoGlyphCacheNoGamma(const SkPaint& paint,
320 const SkDeviceProperties* deviceProperties, 319 const SkSurfaceProps* surfaceProps,
321 const SkMatrix* matrix) { 320 const SkMatrix* matrix) {
322 fCache = paint.detachCache(deviceProperties, matrix, true); 321 fCache = paint.detachCache(surfaceProps, matrix, true);
323 } 322 }
324 323
325 private: 324 private:
326 SkAutoGlyphCacheNoGamma() : SkAutoGlyphCacheBase() {} 325 SkAutoGlyphCacheNoGamma() : SkAutoGlyphCacheBase() {}
327 }; 326 };
328 #define SkAutoGlyphCacheNoGamma(...) SK_REQUIRE_LOCAL_VAR(SkAutoGlyphCacheNoGamm a) 327 #define SkAutoGlyphCacheNoGamma(...) SK_REQUIRE_LOCAL_VAR(SkAutoGlyphCacheNoGamm a)
329 328
330 #endif 329 #endif
OLDNEW
« no previous file with comments | « src/core/SkDeviceProperties.h ('k') | src/core/SkPaint.cpp » ('j') | src/gpu/SkGpuDevice.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698