| OLD | NEW |
| (Empty) |
| 1 | |
| 2 /* | |
| 3 * Copyright 2011 Google Inc. | |
| 4 * | |
| 5 * Use of this source code is governed by a BSD-style license that can be | |
| 6 * found in the LICENSE file. | |
| 7 */ | |
| 8 #ifndef SkImageRefPool_DEFINED | |
| 9 #define SkImageRefPool_DEFINED | |
| 10 | |
| 11 #include "SkTypes.h" | |
| 12 | |
| 13 class SkImageRef; | |
| 14 class SkImageRef_GlobalPool; | |
| 15 | |
| 16 class SkImageRefPool { | |
| 17 public: | |
| 18 SkImageRefPool(); | |
| 19 ~SkImageRefPool(); | |
| 20 | |
| 21 size_t getRAMBudget() const { return fRAMBudget; } | |
| 22 void setRAMBudget(size_t); | |
| 23 | |
| 24 size_t getRAMUsed() const { return fRAMUsed; } | |
| 25 void setRAMUsed(size_t limit); | |
| 26 | |
| 27 void addToHead(SkImageRef*); | |
| 28 void addToTail(SkImageRef*); | |
| 29 void detach(SkImageRef*); | |
| 30 | |
| 31 void dump() const; | |
| 32 | |
| 33 private: | |
| 34 size_t fRAMBudget; | |
| 35 size_t fRAMUsed; | |
| 36 | |
| 37 int fCount; | |
| 38 SkImageRef* fHead, *fTail; | |
| 39 | |
| 40 int computeCount() const; | |
| 41 | |
| 42 friend class SkImageRef_GlobalPool; | |
| 43 | |
| 44 void justAddedPixels(SkImageRef*); | |
| 45 void canLosePixels(SkImageRef*); | |
| 46 void purgeIfNeeded(); | |
| 47 }; | |
| 48 | |
| 49 #endif | |
| OLD | NEW |