aboutsummaryrefslogtreecommitdiffhomepage
path: root/include/core/SkFlattenable.h
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-12-11 13:23:33 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-12-11 18:50:00 +0000
commit58a3fcd4b3a2f7210586f4ec74dde8ac2b231e0f (patch)
tree3e1d077d627e19e0ddb8c455a2a9950be5625d0e /include/core/SkFlattenable.h
parentcbe99c050e63551f475242b1f69824ee02bb34aa (diff)
add virtual to confirm flattenable type
meant to replace https://skia-review.googlesource.com/c/skia/+/83381 Bug:793639 Change-Id: I972dc80725bf5ce5be24769aafa23269735e089c Reviewed-on: https://skia-review.googlesource.com/83444 Reviewed-by: Florin Malita <fmalita@chromium.org> Reviewed-by: Mike Klein <mtklein@chromium.org> Commit-Queue: Mike Klein <mtklein@chromium.org>
Diffstat (limited to 'include/core/SkFlattenable.h')
-rw-r--r--include/core/SkFlattenable.h9
1 files changed, 7 insertions, 2 deletions
diff --git a/include/core/SkFlattenable.h b/include/core/SkFlattenable.h
index b0bfbe23e7..5faf7c2317 100644
--- a/include/core/SkFlattenable.h
+++ b/include/core/SkFlattenable.h
@@ -59,8 +59,11 @@ struct SkDeserialProcs;
This macro should only be used in base class objects in core
*/
#define SK_DEFINE_FLATTENABLE_TYPE(flattenable) \
- static Type GetFlattenableType() { \
- return k##flattenable##_Type; \
+ static Type GetFlattenableType() { \
+ return k##flattenable##_Type; \
+ } \
+ Type getFlattenableType() const override { \
+ return k##flattenable##_Type; \
}
/** \class SkFlattenable
@@ -120,6 +123,8 @@ public:
*/
virtual void flatten(SkWriteBuffer&) const {}
+ virtual Type getFlattenableType() const = 0;
+
//
// public ways to serialize / deserialize
//