OLD | NEW |
1 | 1 |
2 /* | 2 /* |
3 * Copyright 2010 Google Inc. | 3 * Copyright 2010 Google Inc. |
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 SkBitmapCache_DEFINED | 10 #ifndef SkGradientBitmapCache_DEFINED |
11 #define SkBitmapCache_DEFINED | 11 #define SkGradientBitmapCache_DEFINED |
12 | 12 |
13 #include "SkBitmap.h" | 13 #include "SkBitmap.h" |
14 | 14 |
15 class SkBitmapCache : SkNoncopyable { | 15 class SkGradientBitmapCache : SkNoncopyable { |
16 public: | 16 public: |
17 SkBitmapCache(int maxEntries); | 17 SkGradientBitmapCache(int maxEntries); |
18 ~SkBitmapCache(); | 18 ~SkGradientBitmapCache(); |
19 | 19 |
20 bool find(const void* buffer, size_t len, SkBitmap*) const; | 20 bool find(const void* buffer, size_t len, SkBitmap*) const; |
21 void add(const void* buffer, size_t len, const SkBitmap&); | 21 void add(const void* buffer, size_t len, const SkBitmap&); |
22 | 22 |
23 private: | 23 private: |
24 int fEntryCount; | 24 int fEntryCount; |
25 const int fMaxEntries; | 25 const int fMaxEntries; |
26 | 26 |
27 struct Entry; | 27 struct Entry; |
28 mutable Entry* fHead; | 28 mutable Entry* fHead; |
29 mutable Entry* fTail; | 29 mutable Entry* fTail; |
30 | 30 |
31 inline Entry* detach(Entry*) const; | 31 inline Entry* detach(Entry*) const; |
32 inline void attachToHead(Entry*) const; | 32 inline void attachToHead(Entry*) const; |
33 | 33 |
34 #ifdef SK_DEBUG | 34 #ifdef SK_DEBUG |
35 void validate() const; | 35 void validate() const; |
36 #else | 36 #else |
37 void validate() const {} | 37 void validate() const {} |
38 #endif | 38 #endif |
39 | 39 |
40 class AutoValidate : SkNoncopyable { | 40 class AutoValidate : SkNoncopyable { |
41 public: | 41 public: |
42 AutoValidate(const SkBitmapCache* bc) : fBC(bc) { bc->validate(); } | 42 AutoValidate(const SkGradientBitmapCache* bc) : fBC(bc) { bc->validate()
; } |
43 ~AutoValidate() { fBC->validate(); } | 43 ~AutoValidate() { fBC->validate(); } |
44 private: | 44 private: |
45 const SkBitmapCache* fBC; | 45 const SkGradientBitmapCache* fBC; |
46 }; | 46 }; |
47 }; | 47 }; |
48 | 48 |
49 #endif | 49 #endif |
OLD | NEW |