| Index: src/core/SkPictureData.h
|
| diff --git a/src/core/SkPictureData.h b/src/core/SkPictureData.h
|
| index dbb117ef14456d59470a8bf51df7915a071eb20a..4870305de48f1e009bdcbb63331e7a2e4e241999 100644
|
| --- a/src/core/SkPictureData.h
|
| +++ b/src/core/SkPictureData.h
|
| @@ -9,6 +9,7 @@
|
| #define SkPictureData_DEFINED
|
|
|
| #include "SkBitmap.h"
|
| +#include "SkDrawable.h"
|
| #include "SkPicture.h"
|
| #include "SkPictureContentInfo.h"
|
| #include "SkPictureFlat.h"
|
| @@ -43,6 +44,7 @@ struct SkPictInfo {
|
| #define SK_PICT_FACTORY_TAG SkSetFourByteTag('f', 'a', 'c', 't')
|
| #define SK_PICT_TYPEFACE_TAG SkSetFourByteTag('t', 'p', 'f', 'c')
|
| #define SK_PICT_PICTURE_TAG SkSetFourByteTag('p', 'c', 't', 'r')
|
| +#define SK_PICT_DRAWABLE_TAG SkSetFourByteTag('d', 'r', 'a', 'w')
|
|
|
| // This tag specifies the size of the ReadBuffer, needed for the following tags
|
| #define SK_PICT_BUFFER_SIZE_TAG SkSetFourByteTag('a', 'r', 'a', 'y')
|
| @@ -107,6 +109,12 @@ public:
|
| return reader->validateIndex(index, fPictureCount) ? fPictureRefs[index] : nullptr;
|
| }
|
|
|
| + SkDrawable* getDrawable(SkReadBuffer* reader) const {
|
| + int index = reader->readInt();
|
| + SkASSERT(index > 0 && index <= fDrawableCount);
|
| + return fDrawableRefs[index - 1];
|
| + }
|
| +
|
| const SkPaint* getPaint(SkReadBuffer* reader) const {
|
| const int index = reader->readInt() - 1;
|
| return reader->validateIndex(index, fPaints.count()) ? &fPaints[index] : nullptr;
|
| @@ -160,6 +168,8 @@ private:
|
|
|
| const SkPicture** fPictureRefs;
|
| int fPictureCount;
|
| + SkDrawable** fDrawableRefs;
|
| + int fDrawableCount;
|
| const SkTextBlob** fTextBlobRefs;
|
| int fTextBlobCount;
|
| const SkImage** fImageRefs;
|
|
|