Chromium Code Reviews| Index: src/core/SkImageCacherator.h |
| diff --git a/src/core/SkImageCacherator.h b/src/core/SkImageCacherator.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..73f1f61e6bc3e9ea76685f40e07a338332b763ae |
| --- /dev/null |
| +++ b/src/core/SkImageCacherator.h |
| @@ -0,0 +1,48 @@ |
| +/* |
| + * 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 SkImageCacherator_DEFINED |
| +#define SkImageCacherator_DEFINED |
| + |
| +#include "SkImageGenerator.h" |
| + |
| +class GrContext; |
| +class SkBitmap; |
| + |
| +class SkImageCacherator { |
| +public: |
| + // Takes ownership of the generator |
| + SkImageCacherator(SkImageGenerator* gen); |
|
scroggo
2015/08/13 19:59:13
Maybe this should be a factory, so we don't end up
reed1
2015/08/13 20:57:08
Done.
|
| + ~SkImageCacherator(); |
| + |
| + const SkImageInfo& info() const { return fGenerator->getInfo(); } |
| + SkImageGenerator* generator() const { return fGenerator; } |
| + |
| + /** |
| + * On success (true), bitmap will point to the pixels for this generator. If this returns |
| + * false, the bitmap will be reset to empty. |
| + * |
| + * The cached bitmap is valid until it goes out of scope. |
|
scroggo
2015/08/13 19:59:13
Are you saying the bitmap passed to this function
reed1
2015/08/13 20:57:08
Fixed.
|
| + */ |
| + bool lockAsBitmap(SkBitmap*); |
| + |
| + /** |
| + * Returns a ref() on the texture produced by this generator. The caller must call unref() |
| + * when it is done. Will return NULL on failure. |
|
scroggo
2015/08/13 19:59:13
nullptr?
reed1
2015/08/13 20:57:08
Hmmm, I'm not sure that distinction is important i
|
| + * |
| + * The cached texture is valid until it is unref'd. |
| + */ |
| + GrTexture* lockAsTexture(GrContext*, SkImageUsageType); |
| + |
| +private: |
| + bool tryLockAsBitmap(SkBitmap*); |
| + GrTexture* tryLockAsTexture(GrContext*, SkImageUsageType); |
| + |
| + SkImageGenerator* fGenerator; |
| +}; |
| + |
| +#endif |