| /* |
| * Copyright 2015 Google Inc. |
| * |
| * Use of this source code is governed by a BSD-style license that can be |
| * found in the LICENSE file. |
| */ |
| |
| #ifndef SkYUVPlanesCache_DEFINED |
| #define SkYUVPlanesCache_DEFINED |
| |
| #include "include/core/SkTypes.h" |
| |
| class SkCachedData; |
| class SkResourceCache; |
| class SkYUVAPixmaps; |
| |
| class SkYUVPlanesCache { |
| public: |
| /** |
| * On success, return a ref to the SkCachedData that holds the pixel data. The SkYUVAPixmaps |
| * contains a description of the YUVA data and has a SkPixmap for each plane that points |
| * into the SkCachedData. |
| * |
| * On failure, return nullptr. |
| */ |
| static SkCachedData* FindAndRef(uint32_t genID, |
| SkYUVAPixmaps* pixmaps, |
| SkResourceCache* localCache = nullptr); |
| |
| /** |
| * Add a pixelRef ID and its YUV planes data to the cache. The SkYUVAPixmaps should contain |
| * SkPixmaps that store their pixel data in the SkCachedData. |
| */ |
| static void Add(uint32_t genID, SkCachedData* data, const SkYUVAPixmaps& pixmaps, |
| SkResourceCache* localCache = nullptr); |
| }; |
| |
| #endif |