| OLD | NEW | 
|---|
| 1 | 1 | 
| 2 /* | 2 /* | 
| 3  * Copyright 2014 Google Inc. | 3  * Copyright 2014 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 #ifndef GrGpuResourceCacheAccess_DEFINED | 9 #ifndef GrGpuResourceCacheAccess_DEFINED | 
| 10 #define GrGpuResourceCacheAccess_DEFINED | 10 #define GrGpuResourceCacheAccess_DEFINED | 
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 47     /** | 47     /** | 
| 48      * If the resource is currently cached by a content key, the key is returned
    , otherwise NULL. | 48      * If the resource is currently cached by a content key, the key is returned
    , otherwise NULL. | 
| 49      */ | 49      */ | 
| 50     const GrResourceKey* getContentKey() const { | 50     const GrResourceKey* getContentKey() const { | 
| 51         if (fResource->fContentKeySet) { | 51         if (fResource->fContentKeySet) { | 
| 52             return &fResource->fContentKey; | 52             return &fResource->fContentKey; | 
| 53         } | 53         } | 
| 54         return NULL; | 54         return NULL; | 
| 55     } | 55     } | 
| 56 | 56 | 
|  | 57     /** | 
|  | 58      * Called by the cache to delete the resource under normal circumstances. | 
|  | 59      */ | 
|  | 60     void release() { | 
|  | 61         fResource->release(); | 
|  | 62         if (fResource->isPurgable()) { | 
|  | 63             SkDELETE(fResource); | 
|  | 64         } | 
|  | 65     } | 
|  | 66 | 
|  | 67     /** | 
|  | 68      * Called by the cache to delete the resource when the backend 3D context is
     no longer valid. | 
|  | 69      */ | 
|  | 70     void abandon() { | 
|  | 71         fResource->abandon(); | 
|  | 72         if (fResource->isPurgable()) { | 
|  | 73             SkDELETE(fResource); | 
|  | 74         } | 
|  | 75     } | 
|  | 76 | 
| 57 private: | 77 private: | 
| 58     CacheAccess(GrGpuResource* resource) : fResource(resource) { } | 78     CacheAccess(GrGpuResource* resource) : fResource(resource) { } | 
| 59     CacheAccess(const CacheAccess& that) : fResource(that.fResource) { } | 79     CacheAccess(const CacheAccess& that) : fResource(that.fResource) { } | 
| 60     CacheAccess& operator=(const CacheAccess&); // unimpl | 80     CacheAccess& operator=(const CacheAccess&); // unimpl | 
| 61 | 81 | 
| 62     // No taking addresses of this type. | 82     // No taking addresses of this type. | 
| 63     const CacheAccess* operator&() const; | 83     const CacheAccess* operator&() const; | 
| 64     CacheAccess* operator&(); | 84     CacheAccess* operator&(); | 
| 65 | 85 | 
| 66     GrGpuResource* fResource; | 86     GrGpuResource* fResource; | 
| 67 | 87 | 
| 68     friend class GrGpuResource; // to construct/copy this type. | 88     friend class GrGpuResource; // to construct/copy this type. | 
| 69 }; | 89 }; | 
| 70 | 90 | 
| 71 inline GrGpuResource::CacheAccess GrGpuResource::cacheAccess() { return CacheAcc
    ess(this); } | 91 inline GrGpuResource::CacheAccess GrGpuResource::cacheAccess() { return CacheAcc
    ess(this); } | 
| 72 | 92 | 
| 73 inline const GrGpuResource::CacheAccess GrGpuResource::cacheAccess() const { | 93 inline const GrGpuResource::CacheAccess GrGpuResource::cacheAccess() const { | 
| 74     return CacheAccess(const_cast<GrGpuResource*>(this)); | 94     return CacheAccess(const_cast<GrGpuResource*>(this)); | 
| 75 } | 95 } | 
| 76 | 96 | 
| 77 #endif | 97 #endif | 
| OLD | NEW | 
|---|