aboutsummaryrefslogtreecommitdiffstats
path: root/include/graphics/SkString.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/graphics/SkString.h')
-rw-r--r--include/graphics/SkString.h168
1 files changed, 0 insertions, 168 deletions
diff --git a/include/graphics/SkString.h b/include/graphics/SkString.h
deleted file mode 100644
index 46b1d9e..0000000
--- a/include/graphics/SkString.h
+++ /dev/null
@@ -1,168 +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 SkString_DEFINED
-#define SkString_DEFINED
-
-#include "SkScalar.h"
-
-/* Some helper functions for C strings
-*/
-
-bool SkStrStartsWith(const char string[], const char prefix[]);
-bool SkStrEndsWith(const char string[], const char suffix[]);
-int SkStrStartsWithOneOf(const char string[], const char prefixes[]);
-
-#define SkStrAppendS32_MaxSize 11
-char* SkStrAppendS32(char buffer[], int32_t);
-#define SkStrAppendScalar_MaxSize 11
-char* SkStrAppendScalar(char buffer[], SkScalar);
-
-/** \class SkString
-
- Light weight class for managing strings. Uses reference
- counting to make string assignments and copies very fast
- with no extra RAM cost. Assumes UTF8 encoding.
-*/
-class SkString {
-public:
- SkString();
- explicit SkString(size_t len);
- explicit SkString(const char text[]);
- SkString(const char text[], size_t len);
- explicit SkString(const SkString&);
- ~SkString();
-
- bool isEmpty() const { return fRec->fLength == 0; }
- size_t size() const { return (size_t) fRec->fLength; }
- const char* c_str() const { return fRec->data(); }
-
- bool equals(const SkString&) const;
- bool equals(const char text[]) const;
- bool equals(const char text[], size_t len) const;
-
- bool startsWith(const char prefix[]) const
- {
- return SkStrStartsWith(fRec->data(), prefix);
- }
- bool endsWith(const char suffix[]) const
- {
- return SkStrEndsWith(fRec->data(), suffix);
- }
-
- friend int operator==(const SkString& a, const SkString& b)
- {
- return a.equals(b);
- }
- friend int operator!=(const SkString& a, const SkString& b)
- {
- return !a.equals(b);
- }
-
- // these methods edit the string
-
- SkString& operator=(const SkString&);
-
- char* writable_str();
-
- void reset();
- void resize(size_t len) { this->set(NULL, len); }
- void set(const SkString& src) { *this = src; }
- void set(const char text[]);
- void set(const char text[], size_t len);
- void setUTF16(const uint16_t[]);
- void setUTF16(const uint16_t[], size_t len);
-
- void insert(size_t offset, const SkString& src) { this->insert(offset, src.c_str(), src.size()); }
- void insert(size_t offset, const char text[]);
- void insert(size_t offset, const char text[], size_t len);
- void insertUnichar(size_t offset, SkUnichar);
- void insertS32(size_t offset, int32_t value);
- void insertHex(size_t offset, uint32_t value, int minDigits = 0);
- void insertScalar(size_t offset, SkScalar);
-
- void append(const SkString& str) { this->insert((size_t)-1, str); }
- void append(const char text[]) { this->insert((size_t)-1, text); }
- void append(const char text[], size_t len) { this->insert((size_t)-1, text, len); }
- void appendUnichar(SkUnichar uni) { this->insertUnichar((size_t)-1, uni); }
- void appendS32(int32_t value) { this->insertS32((size_t)-1, value); }
- void appendHex(uint32_t value, int minDigits = 0) { this->insertHex((size_t)-1, value, minDigits); }
- void appendScalar(SkScalar value) { this->insertScalar((size_t)-1, value); }
-
- void prepend(const SkString& str) { this->insert(0, str); }
- void prepend(const char text[]) { this->insert(0, text); }
- void prepend(const char text[], size_t len) { this->insert(0, text, len); }
- void prependUnichar(SkUnichar uni) { this->insertUnichar(0, uni); }
- void prependS32(int32_t value) { this->insertS32(0, value); }
- void prependHex(uint32_t value, int minDigits = 0) { this->insertHex(0, value, minDigits); }
- void prependScalar(SkScalar value) { this->insertScalar((size_t)-1, value); }
-
- void printf(const char format[], ...);
-
- void remove(size_t offset, size_t length);
-
- /** Swap contents between this and other. This function is guaranteed
- to never fail or throw.
- */
- void swap(SkString& other);
-
- /** @cond UNIT_TEST */
- SkDEBUGCODE(static void UnitTest();)
- /** @endcond */
-
-private:
- struct Rec {
- public:
- uint16_t fLength;
- uint16_t fRefCnt;
- char fBeginningOfData;
-
- char* data() { return &fBeginningOfData; }
- const char* data() const { return &fBeginningOfData; }
- };
- Rec* fRec;
-
-#ifdef SK_DEBUG
- const char* fStr;
- void validate() const;
-#else
- void validate() const {}
-#endif
-
- static const Rec gEmptyRec;
- static Rec* AllocRec(const char text[], U16CPU len);
- static Rec* RefRec(Rec*);
-};
-
-class SkAutoUCS2 {
-public:
- SkAutoUCS2(const char utf8[]);
- ~SkAutoUCS2();
-
- /** This returns the number of ucs2 characters
- */
- int count() const { return fCount; }
- /** This returns a null terminated ucs2 string
- */
- const uint16_t* getUCS2() const { return fUCS2; }
-
-private:
- int fCount;
- uint16_t* fUCS2;
-};
-
-#endif
-