summaryrefslogtreecommitdiffstats
path: root/skia/include/SkMetaData.h
diff options
context:
space:
mode:
authorsenorblanco@chromium.org <senorblanco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-13 13:16:52 +0000
committersenorblanco@chromium.org <senorblanco@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2009-05-13 13:16:52 +0000
commitd5282e72b2da0b27b2a487d8376c44ad795736dc (patch)
tree7296767f5fcfa3b1cdd46f122e14dfaca1dd7e4a /skia/include/SkMetaData.h
parent3ac3f51f8261910dbc38ccfa4cdf3d491ba7ecdb (diff)
downloadchromium_src-d5282e72b2da0b27b2a487d8376c44ad795736dc.zip
chromium_src-d5282e72b2da0b27b2a487d8376c44ad795736dc.tar.gz
chromium_src-d5282e72b2da0b27b2a487d8376c44ad795736dc.tar.bz2
This CL updates chrome to the latest version of skia, retrieved via DEPS, and
placed in third_party. All relevant skia changes (for all 3 platforms) have been upstreamed. Most of this CL is mind-numbingly repetitive. Things of interest are: skia.gyp (now points at third_party versions), DEPS, and SkUserConfig.h. stdint.h: Skia now requires C99 integer types, which MSVC doesn't support natively. I have put typedefs in config/win/stdint.h. Note that the new version of skia appears to render rects whose coordinates are "backwards" (ie., x2 < x1 or y2 < y1), which were formerly culled. There were a couple obvious instances of this in the code which I fixed, but there may be more. There were ~35 layout test failures due to minor pixel differences which I rebaselined on Windows and Linux, and 8 genuine failures related to masks and stroked text, which I have put in text_expectations.txt and assigned to myself. (There was another change which broke ~1700 tests on each platform, but I put that change behind an #ifdef for now). R=brettw Review URL: http://codereview.chromium.org/65012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15949 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'skia/include/SkMetaData.h')
-rw-r--r--skia/include/SkMetaData.h154
1 files changed, 0 insertions, 154 deletions
diff --git a/skia/include/SkMetaData.h b/skia/include/SkMetaData.h
deleted file mode 100644
index 21739fe..0000000
--- a/skia/include/SkMetaData.h
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (C) 2006 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef SkMetaData_DEFINED
-#define SkMetaData_DEFINED
-
-#include "SkScalar.h"
-
-class SkMetaData {
-public:
- SkMetaData();
- SkMetaData(const SkMetaData& src);
- ~SkMetaData();
-
- SkMetaData& operator=(const SkMetaData& src);
-
- void reset();
-
- bool findS32(const char name[], int32_t* value = NULL) const;
- bool findScalar(const char name[], SkScalar* value = NULL) const;
- const SkScalar* findScalars(const char name[], int* count, SkScalar values[] = NULL) const;
- const char* findString(const char name[]) const;
- bool findPtr(const char name[], void** value = NULL) const;
- bool findBool(const char name[], bool* value = NULL) const;
-
- bool hasS32(const char name[], int32_t value) const
- {
- int32_t v;
- return this->findS32(name, &v) && v == value;
- }
- bool hasScalar(const char name[], SkScalar value) const
- {
- SkScalar v;
- return this->findScalar(name, &v) && v == value;
- }
- bool hasString(const char name[], const char value[]) const
- {
- const char* v = this->findString(name);
- return v == NULL && value == NULL ||
- v != NULL && value != NULL && !strcmp(v, value);
- }
- bool hasPtr(const char name[], void* value) const
- {
- void* v;
- return this->findPtr(name, &v) && v == value;
- }
- bool hasBool(const char name[], bool value) const
- {
- bool v;
- return this->findBool(name, &v) && v == value;
- }
-
- void setS32(const char name[], int32_t value);
- void setScalar(const char name[], SkScalar value);
- SkScalar* setScalars(const char name[], int count, const SkScalar values[] = NULL);
- void setString(const char name[], const char value[]);
- void setPtr(const char name[], void* value);
- void setBool(const char name[], bool value);
-
- bool removeS32(const char name[]);
- bool removeScalar(const char name[]);
- bool removeString(const char name[]);
- bool removePtr(const char name[]);
- bool removeBool(const char name[]);
-
- SkDEBUGCODE(static void UnitTest();)
-
- enum Type {
- kS32_Type,
- kScalar_Type,
- kString_Type,
- kPtr_Type,
- kBool_Type,
-
- kTypeCount
- };
-
- struct Rec;
- class Iter;
- friend class Iter;
-
- class Iter {
- public:
- Iter() : fRec(NULL) {}
- Iter(const SkMetaData&);
-
- /** Reset the iterator, so that calling next() will return the first
- data element. This is done implicitly in the constructor.
- */
- void reset(const SkMetaData&);
-
- /** Each time next is called, it returns the name of the next data element,
- or null when there are no more elements. If non-null is returned, then the
- element's type is returned (if not null), and the number of data values
- is returned in count (if not null).
- */
- const char* next(Type*, int* count);
-
- private:
- Rec* fRec;
- };
-
-public:
- struct Rec {
- Rec* fNext;
- uint16_t fDataCount; // number of elements
- uint8_t fDataLen; // sizeof a single element
-#ifdef SK_DEBUG
- Type fType;
-#else
- uint8_t fType;
-#endif
-
-#ifdef SK_DEBUG
- const char* fName;
- union {
- int32_t fS32;
- SkScalar fScalar;
- const char* fString;
- void* fPtr;
- bool fBool;
- } fData;
-#endif
-
- const void* data() const { return (this + 1); }
- void* data() { return (this + 1); }
- const char* name() const { return (const char*)this->data() + fDataLen * fDataCount; }
- char* name() { return (char*)this->data() + fDataLen * fDataCount; }
-
- static Rec* Alloc(size_t);
- static void Free(Rec*);
- };
- Rec* fRec;
-
- const Rec* find(const char name[], Type) const;
- void* set(const char name[], const void* data, size_t len, Type, int count);
- bool remove(const char name[], Type);
-};
-
-#endif
-