aboutsummaryrefslogtreecommitdiffhomepage
path: root/include
diff options
context:
space:
mode:
authorGravatar Herb Derby <herb@google.com>2017-01-24 11:44:52 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-01-24 17:24:50 +0000
commit5d72f7deb1807c4ee1c1d0901124d5ea07e556f2 (patch)
tree1e2ef54e51f0ea63c19337f79d172531ebe12c18 /include
parent80d22ea13a549cc70a44eca1407933a1efdaeddc (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.h146
-rw-r--r--include/views/SkView.h14
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