aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/SkPictureData.h
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-03-16 16:54:38 -0400
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-03-17 11:03:38 +0000
commit14583e11fd622c686993b741499060a6f3527055 (patch)
treea579bd68be7fdaeac5b00951c637385204b43134 /src/core/SkPictureData.h
parentdea7428b96badfac805e515701f785f292c5af2b (diff)
More SkVertices implementation work
- change virtuals to take const SkVertices*, as we do for TextBobs and Images - override onDrawVerticesObject in recording canvases - deserialize raw-vertices into SkVertices object Possibly a follow-on would intercept the raw-form directly in canvas, and remove the virtual, and only support the object form. BUG=skia:6366 Change-Id: I57a932667ccb3b3b004beb802ac3ae6898e3c6e0 Reviewed-on: https://skia-review.googlesource.com/9633 Commit-Queue: Mike Reed <reed@google.com> Reviewed-by: Brian Salomon <bsalomon@google.com>
Diffstat (limited to 'src/core/SkPictureData.h')
-rw-r--r--src/core/SkPictureData.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/core/SkPictureData.h b/src/core/SkPictureData.h
index 332b799638..37a02373be 100644
--- a/src/core/SkPictureData.h
+++ b/src/core/SkPictureData.h
@@ -68,6 +68,7 @@ public:
#define SK_PICT_PAINT_BUFFER_TAG SkSetFourByteTag('p', 'n', 't', ' ')
#define SK_PICT_PATH_BUFFER_TAG SkSetFourByteTag('p', 't', 'h', ' ')
#define SK_PICT_TEXTBLOB_BUFFER_TAG SkSetFourByteTag('b', 'l', 'o', 'b')
+#define SK_PICT_VERTICES_BUFFER_TAG SkSetFourByteTag('v', 'e', 'r', 't')
#define SK_PICT_IMAGE_BUFFER_TAG SkSetFourByteTag('i', 'm', 'a', 'g')
// Always write this guy last (with no length field afterwards)
@@ -143,6 +144,11 @@ public:
return reader->validateIndex(index, fTextBlobCount) ? fTextBlobRefs[index] : nullptr;
}
+ const SkVertices* getVertices(SkReadBuffer* reader) const {
+ const int index = reader->readInt() - 1;
+ return reader->validateIndex(index, fVerticesCount) ? fVerticesRefs[index] : nullptr;
+ }
+
#if SK_SUPPORT_GPU
/**
* sampleCount is the number of samples-per-pixel or zero if non-MSAA.
@@ -185,6 +191,8 @@ private:
int fDrawableCount;
const SkTextBlob** fTextBlobRefs;
int fTextBlobCount;
+ const SkVertices** fVerticesRefs;
+ int fVerticesCount;
const SkImage** fImageRefs;
int fImageCount;
const SkImage** fBitmapImageRefs;