Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(211)

Unified Diff: src/core/SkReadBuffer.h

Issue 1855733002: change flattenable factory to return sk_sp (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/core/SkPictureShader.cpp ('k') | src/core/SkReadBuffer.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/core/SkReadBuffer.h
diff --git a/src/core/SkReadBuffer.h b/src/core/SkReadBuffer.h
index a9983989ccee773bb05446f9d05f932a547089a1..7b12194fc03558a70dba98c2b36c4aae2bcf3bbe 100644
--- a/src/core/SkReadBuffer.h
+++ b/src/core/SkReadBuffer.h
@@ -127,27 +127,17 @@ public:
void readPaint(SkPaint* paint) { paint->unflatten(*this); }
virtual SkFlattenable* readFlattenable(SkFlattenable::Type);
- template <typename T> T* readFlattenable() {
- return (T*) this->readFlattenable(T::GetFlattenableType());
- }
- sk_sp<SkColorFilter> readColorFilter() {
- return sk_sp<SkColorFilter>(this->readFlattenable<SkColorFilter>());
- }
- sk_sp<SkDrawLooper> readDrawLooper() {
- return sk_sp<SkDrawLooper>(this->readFlattenable<SkDrawLooper>());
- }
- SkImageFilter* readImageFilter() { return this->readFlattenable<SkImageFilter>(); }
- SkMaskFilter* readMaskFilter() { return this->readFlattenable<SkMaskFilter>(); }
- sk_sp<SkPathEffect> readPathEffect() {
- return sk_sp<SkPathEffect>(this->readFlattenable<SkPathEffect>());
- }
- sk_sp<SkRasterizer> readRasterizer() {
- return sk_sp<SkRasterizer>(this->readFlattenable<SkRasterizer>());
- }
- sk_sp<SkShader> readShader() { return sk_sp<SkShader>(this->readFlattenable<SkShader>()); }
- sk_sp<SkXfermode> readXfermode() {
- return sk_sp<SkXfermode>(this->readFlattenable<SkXfermode>());
+ template <typename T> sk_sp<T> readFlattenable() {
+ return sk_sp<T>((T*)this->readFlattenable(T::GetFlattenableType()));
}
+ sk_sp<SkColorFilter> readColorFilter() { return this->readFlattenable<SkColorFilter>(); }
+ sk_sp<SkDrawLooper> readDrawLooper() { return this->readFlattenable<SkDrawLooper>(); }
+ sk_sp<SkImageFilter> readImageFilter() { return this->readFlattenable<SkImageFilter>(); }
+ sk_sp<SkMaskFilter> readMaskFilter() { return this->readFlattenable<SkMaskFilter>(); }
+ sk_sp<SkPathEffect> readPathEffect() { return this->readFlattenable<SkPathEffect>(); }
+ sk_sp<SkRasterizer> readRasterizer() { return this->readFlattenable<SkRasterizer>(); }
+ sk_sp<SkShader> readShader() { return this->readFlattenable<SkShader>(); }
+ sk_sp<SkXfermode> readXfermode() { return this->readFlattenable<SkXfermode>(); }
/**
* Like readFlattenable() but explicitly just skips the data that was written for the
« no previous file with comments | « src/core/SkPictureShader.cpp ('k') | src/core/SkReadBuffer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698