| Index: include/core/SkPixelRef.h
|
| diff --git a/include/core/SkPixelRef.h b/include/core/SkPixelRef.h
|
| index a24ef8e23158a9444a0a3a9bce5b30482d39e49a..afab7fad9e04e746fa289b6d42e58b73fb277900 100644
|
| --- a/include/core/SkPixelRef.h
|
| +++ b/include/core/SkPixelRef.h
|
| @@ -13,6 +13,7 @@
|
| #include "SkRefCnt.h"
|
| #include "SkString.h"
|
| #include "SkImageInfo.h"
|
| +#include "SkSize.h"
|
| #include "SkTDArray.h"
|
|
|
| //#define xed
|
| @@ -219,6 +220,18 @@ public:
|
| */
|
| virtual GrTexture* getTexture() { return NULL; }
|
|
|
| + /**
|
| + * If any planes or rowBytes is NULL, this should output the sizes and return true
|
| + * if it can efficiently return YUV planar data. If it cannot, it should return false.
|
| + *
|
| + * If all planes and rowBytes are not NULL, then it should copy the associated Y,U,V data
|
| + * into those planes of memory supplied by the caller. It should validate that the sizes
|
| + * match what it expected. If the sizes do not match, it should return false.
|
| + */
|
| + bool getYUV8Planes(SkISize sizes[3], void* planes[3], size_t rowBytes[3]) {
|
| + return this->onGetYUV8Planes(sizes, planes, rowBytes);
|
| + }
|
| +
|
| bool readPixels(SkBitmap* dst, const SkIRect* subset = NULL);
|
|
|
| /**
|
| @@ -305,6 +318,9 @@ protected:
|
| // default impl returns NULL.
|
| virtual SkData* onRefEncodedData();
|
|
|
| + // default impl returns false.
|
| + virtual bool onGetYUV8Planes(SkISize sizes[3], void* planes[3], size_t rowBytes[3]);
|
| +
|
| /**
|
| * Returns the size (in bytes) of the internally allocated memory.
|
| * This should be implemented in all serializable SkPixelRef derived classes.
|
|
|