diff options
Diffstat (limited to 'gfx/skia/skia/src/core/SkYUVPlanesCache.h')
-rw-r--r-- | gfx/skia/skia/src/core/SkYUVPlanesCache.h | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/gfx/skia/skia/src/core/SkYUVPlanesCache.h b/gfx/skia/skia/src/core/SkYUVPlanesCache.h new file mode 100644 index 0000000000..dfe535f679 --- /dev/null +++ b/gfx/skia/skia/src/core/SkYUVPlanesCache.h @@ -0,0 +1,38 @@ +/* + * 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 |