diff options
author | 2016-04-04 13:53:02 -0700 | |
---|---|---|
committer | 2016-04-04 13:53:02 -0700 | |
commit | 99d9231f6a4cb6b85b8637e9d8ae32f8bd7c466f (patch) | |
tree | afd7ff51e10b4860da79285cb19fb28d65c7f52d /src | |
parent | c19201f315d0fd91a6320c48ce18e5a87c4e8bda (diff) |
Delete SkFlattenable::Type
BUG=skia:
GOLD_TRYBOT_URL= https://gold.skia.org/search2?unt=true&query=source_type%3Dgm&master=false&issue=1834303003
Review URL: https://codereview.chromium.org/1834303003
Diffstat (limited to 'src')
-rw-r--r-- | src/core/SkFlattenable.cpp | 20 | ||||
-rw-r--r-- | src/core/SkFlattenableSerialization.cpp | 5 | ||||
-rw-r--r-- | src/core/SkReadBuffer.cpp | 6 | ||||
-rw-r--r-- | src/core/SkReadBuffer.h | 4 | ||||
-rw-r--r-- | src/core/SkScalerContext.cpp | 14 | ||||
-rw-r--r-- | src/core/SkValidatingReadBuffer.cpp | 8 | ||||
-rw-r--r-- | src/core/SkValidatingReadBuffer.h | 2 | ||||
-rw-r--r-- | src/utils/SkBitmapSourceDeserializer.h | 1 |
8 files changed, 13 insertions, 47 deletions
diff --git a/src/core/SkFlattenable.cpp b/src/core/SkFlattenable.cpp index c759a1ab38..506a7b14e7 100644 --- a/src/core/SkFlattenable.cpp +++ b/src/core/SkFlattenable.cpp @@ -53,20 +53,18 @@ void SkRefCntSet::decPtr(void* ptr) { struct Entry { const char* fName; SkFlattenable::Factory fFactory; - SkFlattenable::Type fType; }; static int gCount = 0; static Entry gEntries[MAX_ENTRY_COUNT]; -void SkFlattenable::Register(const char name[], Factory factory, SkFlattenable::Type type) { +void SkFlattenable::Register(const char name[], Factory factory) { SkASSERT(name); SkASSERT(factory); SkASSERT(gCount < MAX_ENTRY_COUNT); gEntries[gCount].fName = name; gEntries[gCount].fFactory = factory; - gEntries[gCount].fType = type; gCount += 1; } @@ -94,22 +92,6 @@ SkFlattenable::Factory SkFlattenable::NameToFactory(const char name[]) { return nullptr; } -bool SkFlattenable::NameToType(const char name[], SkFlattenable::Type* type) { - SkASSERT(type); - InitializeFlattenablesIfNeeded(); -#ifdef SK_DEBUG - report_no_entries(__FUNCTION__); -#endif - const Entry* entries = gEntries; - for (int i = gCount - 1; i >= 0; --i) { - if (strcmp(entries[i].fName, name) == 0) { - *type = entries[i].fType; - return true; - } - } - return false; -} - const char* SkFlattenable::FactoryToName(Factory fact) { InitializeFlattenablesIfNeeded(); #ifdef SK_DEBUG diff --git a/src/core/SkFlattenableSerialization.cpp b/src/core/SkFlattenableSerialization.cpp index e9ce09ff1f..748e20a9c2 100644 --- a/src/core/SkFlattenableSerialization.cpp +++ b/src/core/SkFlattenableSerialization.cpp @@ -20,8 +20,7 @@ SkData* SkValidatingSerializeFlattenable(SkFlattenable* flattenable) { return data.release(); } -SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size, - SkFlattenable::Type type) { +SkFlattenable* SkValidatingDeserializeFlattenable(const void* data, size_t size) { SkValidatingReadBuffer buffer(data, size); - return buffer.readFlattenable(type); + return buffer.readFlattenable(); } diff --git a/src/core/SkReadBuffer.cpp b/src/core/SkReadBuffer.cpp index f220b5a9e6..d57b223700 100644 --- a/src/core/SkReadBuffer.cpp +++ b/src/core/SkReadBuffer.cpp @@ -329,11 +329,7 @@ SkTypeface* SkReadBuffer::readTypeface() { } } -SkFlattenable* SkReadBuffer::readFlattenable(SkFlattenable::Type ft) { - // - // TODO: confirm that ft matches the factory we decide to use - // - +SkFlattenable* SkReadBuffer::readFlattenable() { SkFlattenable::Factory factory = nullptr; if (fFactoryCount > 0) { diff --git a/src/core/SkReadBuffer.h b/src/core/SkReadBuffer.h index 7b12194fc0..cd570e18f3 100644 --- a/src/core/SkReadBuffer.h +++ b/src/core/SkReadBuffer.h @@ -126,9 +126,9 @@ public: virtual void readPath(SkPath* path); void readPaint(SkPaint* paint) { paint->unflatten(*this); } - virtual SkFlattenable* readFlattenable(SkFlattenable::Type); + virtual SkFlattenable* readFlattenable(); template <typename T> sk_sp<T> readFlattenable() { - return sk_sp<T>((T*)this->readFlattenable(T::GetFlattenableType())); + return sk_sp<T>((T*)this->readFlattenable()); } sk_sp<SkColorFilter> readColorFilter() { return this->readFlattenable<SkColorFilter>(); } sk_sp<SkDrawLooper> readDrawLooper() { return this->readFlattenable<SkDrawLooper>(); } diff --git a/src/core/SkScalerContext.cpp b/src/core/SkScalerContext.cpp index cf4098bbdd..3db9e30876 100644 --- a/src/core/SkScalerContext.cpp +++ b/src/core/SkScalerContext.cpp @@ -62,15 +62,14 @@ void SkGlyph::zeroMetrics() { #define DUMP_RECx #endif -static SkFlattenable* load_flattenable(const SkDescriptor* desc, uint32_t tag, - SkFlattenable::Type ft) { +static SkFlattenable* load_flattenable(const SkDescriptor* desc, uint32_t tag) { SkFlattenable* obj = nullptr; uint32_t len; const void* data = desc->findEntry(tag, &len); if (data) { SkReadBuffer buffer(data, len); - obj = buffer.readFlattenable(ft); + obj = buffer.readFlattenable(); SkASSERT(buffer.offset() == buffer.size()); } return obj; @@ -80,12 +79,9 @@ SkScalerContext::SkScalerContext(SkTypeface* typeface, const SkDescriptor* desc) : fRec(*static_cast<const Rec*>(desc->findEntry(kRec_SkDescriptorTag, nullptr))) , fTypeface(SkRef(typeface)) - , fPathEffect(static_cast<SkPathEffect*>(load_flattenable(desc, kPathEffect_SkDescriptorTag, - SkFlattenable::kSkPathEffect_Type))) - , fMaskFilter(static_cast<SkMaskFilter*>(load_flattenable(desc, kMaskFilter_SkDescriptorTag, - SkFlattenable::kSkMaskFilter_Type))) - , fRasterizer(static_cast<SkRasterizer*>(load_flattenable(desc, kRasterizer_SkDescriptorTag, - SkFlattenable::kSkRasterizer_Type))) + , fPathEffect(static_cast<SkPathEffect*>(load_flattenable(desc, kPathEffect_SkDescriptorTag))) + , fMaskFilter(static_cast<SkMaskFilter*>(load_flattenable(desc, kMaskFilter_SkDescriptorTag))) + , fRasterizer(static_cast<SkRasterizer*>(load_flattenable(desc, kRasterizer_SkDescriptorTag))) // Initialize based on our settings. Subclasses can also force this. , fGenerateImageFromPath(fRec.fFrameWidth > 0 || fPathEffect != nullptr || fRasterizer != nullptr) diff --git a/src/core/SkValidatingReadBuffer.cpp b/src/core/SkValidatingReadBuffer.cpp index ad4b6c409e..0ce8bf9c59 100644 --- a/src/core/SkValidatingReadBuffer.cpp +++ b/src/core/SkValidatingReadBuffer.cpp @@ -222,20 +222,14 @@ bool SkValidatingReadBuffer::validateAvailable(size_t size) { return this->validate((size <= SK_MaxU32) && fReader.isAvailable(static_cast<uint32_t>(size))); } -SkFlattenable* SkValidatingReadBuffer::readFlattenable(SkFlattenable::Type type) { +SkFlattenable* SkValidatingReadBuffer::readFlattenable() { SkString name; this->readString(&name); if (fError) { return nullptr; } - // Is this the type we wanted ? const char* cname = name.c_str(); - SkFlattenable::Type baseType; - if (!SkFlattenable::NameToType(cname, &baseType) || (baseType != type)) { - return nullptr; - } - SkFlattenable::Factory factory = SkFlattenable::NameToFactory(cname); if (nullptr == factory) { return nullptr; // writer failed to give us the flattenable diff --git a/src/core/SkValidatingReadBuffer.h b/src/core/SkValidatingReadBuffer.h index bcdcba5de4..4b8cdf88c0 100644 --- a/src/core/SkValidatingReadBuffer.h +++ b/src/core/SkValidatingReadBuffer.h @@ -39,7 +39,7 @@ public: void* readEncodedString(size_t* length, SkPaint::TextEncoding encoding) override; // common data structures - SkFlattenable* readFlattenable(SkFlattenable::Type type) override; + SkFlattenable* readFlattenable() override; void skipFlattenable() override; void readPoint(SkPoint* point) override; void readMatrix(SkMatrix* matrix) override; diff --git a/src/utils/SkBitmapSourceDeserializer.h b/src/utils/SkBitmapSourceDeserializer.h index e017599918..60f185e17a 100644 --- a/src/utils/SkBitmapSourceDeserializer.h +++ b/src/utils/SkBitmapSourceDeserializer.h @@ -14,7 +14,6 @@ // Should be removed when SKP versions which may contain SkBitmapSource records are phased out. class SkBitmapSourceDeserializer : public SkFlattenable { public: - SK_DEFINE_FLATTENABLE_TYPE(SkImageFilter) SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBitmapSource) }; |