diff options
author | Herb Derby <herb@google.com> | 2017-01-24 11:44:52 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-01-24 17:24:50 +0000 |
commit | 5d72f7deb1807c4ee1c1d0901124d5ea07e556f2 (patch) | |
tree | 1e2ef54e51f0ea63c19337f79d172531ebe12c18 /include | |
parent | 80d22ea13a549cc70a44eca1407933a1efdaeddc (diff) |
Remove SkTDict and calls from SkView.
R=reed@google.com
Change-Id: Iebfddf752a2ac210a3f5c69de8decd06d0c35617
Reviewed-on: https://skia-review.googlesource.com/7436
Commit-Queue: Herb Derby <herb@google.com>
Commit-Queue: Mike Reed <reed@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/private/SkTDict.h | 146 | ||||
-rw-r--r-- | include/views/SkView.h | 14 |
2 files changed, 2 insertions, 158 deletions
diff --git a/include/private/SkTDict.h b/include/private/SkTDict.h deleted file mode 100644 index cd76e72999..0000000000 --- a/include/private/SkTDict.h +++ /dev/null @@ -1,146 +0,0 @@ -/* - * Copyright 2006 The Android Open Source Project - * - * Use of this source code is governed by a BSD-style license that can be - * found in the LICENSE file. - */ - -#ifndef SkTDict_DEFINED -#define SkTDict_DEFINED - -#include "SkArenaAlloc.h" -#include "SkTSearch.h" -#include "SkTDArray.h" - -template <typename T> class SkTDict : SkNoncopyable { -public: - SkTDict(size_t minStringAlloc) : fStrings(minStringAlloc) {} - - void reset() { - fArray.reset(); - fStrings.reset(); - } - - int count() const { return fArray.count(); } - - bool set(const char name[], const T& value) { - return set(name, strlen(name), value); - } - - bool set(const char name[], size_t len, const T& value) { - SkASSERT(name); - - int index = this->find_index(name, len); - - if (index >= 0) { - fArray[index].fValue = value; - return false; - } else { - Pair* pair = fArray.insert(~index); - char* copy = fStrings.makeArrayDefault<char>(len + 1); - memcpy(copy, name, len); - copy[len] = '\0'; - pair->fName = copy; - pair->fValue = value; - return true; - } - } - - bool find(const char name[]) const { - return this->find_index(name) >= 0; - } - - bool find(const char name[], size_t len) const { - return this->find_index(name, len) >= 0; - } - - bool find(const char name[], T* value) const { - return find(name, strlen(name), value); - } - - bool find(const char name[], size_t len, T* value) const { - int index = this->find_index(name, len); - - if (index >= 0) { - if (value) { - *value = fArray[index].fValue; - } - return true; - } - return false; - } - - bool findKey(T& value, const char** name) const { - const Pair* end = fArray.end(); - for (const Pair* pair = fArray.begin(); pair < end; pair++) { - if (pair->fValue != value) { - continue; - } - *name = pair->fName; - return true; - } - return false; - } - -public: - struct Pair { - const char* fName; - T fValue; - - friend int operator<(const Pair& a, const Pair& b) { - return strcmp(a.fName, b.fName); - } - - friend int operator!=(const Pair& a, const Pair& b) { - return strcmp(a.fName, b.fName); - } - }; - friend class Iter; - -public: - class Iter { - public: - Iter(const SkTDict<T>& dict) { - fIter = dict.fArray.begin(); - fStop = dict.fArray.end(); - } - - const char* next(T* value) { - const char* name = NULL; - if (fIter < fStop) { - name = fIter->fName; - if (value) { - *value = fIter->fValue; - } - fIter += 1; - } - return name; - } - private: - const Pair* fIter; - const Pair* fStop; - }; - -private: - SkTDArray<Pair> fArray; - SkArenaAlloc fStrings; - - int find_index(const char name[]) const { - return find_index(name, strlen(name)); - } - - int find_index(const char name[], size_t len) const { - SkASSERT(name); - - int count = fArray.count(); - int index = ~0; - - if (count) { - index = SkStrSearch(&fArray.begin()->fName, count, name, len, sizeof(Pair)); - } - return index; - } - friend class Iter; -}; - -#endif diff --git a/include/views/SkView.h b/include/views/SkView.h index 17eb3800f4..091eba366d 100644 --- a/include/views/SkView.h +++ b/include/views/SkView.h @@ -13,7 +13,6 @@ #include "SkEventSink.h" #include "SkRect.h" #include "SkDOM.h" -#include "../private/SkTDict.h" #include "SkMatrix.h" #include "SkMetaData.h" @@ -258,7 +257,7 @@ public: */ class Artist : public SkRefCnt { public: - + void draw(SkView*, SkCanvas*); void inflate(const SkDOM&, const SkDOM::Node*); @@ -286,7 +285,7 @@ public: */ class Layout : public SkRefCnt { public: - + void layoutChildren(SkView* parent); void inflate(const SkDOM&, const SkDOM::Node*); @@ -313,14 +312,6 @@ public: /** Call this to initialize this view based on the specified XML node */ void inflate(const SkDOM& dom, const SkDOM::Node* node); - /** After a view hierarchy is inflated, this may be called with a dictionary - containing pairs of <name, view*>, where the name string was the view's - "id" attribute when it was inflated. - - This will call the virtual onPostInflate for this view, and the recursively - call postInflate on all of the view's children. - */ - void postInflate(const SkTDict<SkView*>& ids); SkDEBUGCODE(void dump(bool recurse) const;) @@ -362,7 +353,6 @@ protected: /** Override this if you want to perform post initialization work based on the ID dictionary built during XML parsing. Be sure to call the inherited version too. */ - virtual void onPostInflate(const SkTDict<SkView*>&); public: #ifdef SK_DEBUG |