aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
authorGravatar msarett <msarett@google.com>2016-04-04 13:53:02 -0700
committerGravatar Commit bot <commit-bot@chromium.org>2016-04-04 13:53:02 -0700
commit99d9231f6a4cb6b85b8637e9d8ae32f8bd7c466f (patch)
treeafd7ff51e10b4860da79285cb19fb28d65c7f52d /src
parentc19201f315d0fd91a6320c48ce18e5a87c4e8bda (diff)
Delete SkFlattenable::Type
Diffstat (limited to 'src')
-rw-r--r--src/core/SkFlattenable.cpp20
-rw-r--r--src/core/SkFlattenableSerialization.cpp5
-rw-r--r--src/core/SkReadBuffer.cpp6
-rw-r--r--src/core/SkReadBuffer.h4
-rw-r--r--src/core/SkScalerContext.cpp14
-rw-r--r--src/core/SkValidatingReadBuffer.cpp8
-rw-r--r--src/core/SkValidatingReadBuffer.h2
-rw-r--r--src/utils/SkBitmapSourceDeserializer.h1
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)
};