add SkDataTable::NewEmpty()
authorreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 19 Apr 2013 20:22:39 +0000 (20:22 +0000)
committerreed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81>
Fri, 19 Apr 2013 20:22:39 +0000 (20:22 +0000)
git-svn-id: http://skia.googlecode.com/svn/trunk@8780 2bbb7eff-a529-9590-31e7-b0007b416f81

include/core/SkDataTable.h
src/core/SkDataTable.cpp

index 4a273ea..d8de140 100644 (file)
@@ -64,6 +64,8 @@ public:
         return str;
     }
 
+    static SkDataTable* NewEmpty();
+
     /**
      *  Return a new DataTable that contains a copy of the data stored in each
      *  "array".
index fa7ff71..f04b215 100644 (file)
@@ -53,6 +53,17 @@ void SkDataTable::flatten(SkFlattenableWriteBuffer& buffer) const {
     buffer.writeFlattenable(fData);
 }
 
+///////////////////////////////////////////////////////////////////////////////
+
+SkDataTable* SkDataTable::NewEmpty() {
+    static SkDataTable* gEmpty;
+    if (NULL == gEmpty) {
+        gEmpty = SkNEW_ARGS(SkDataTable, (0, SkData::NewEmpty()));
+    }
+    gEmpty->ref();
+    return gEmpty;
+}
+
 SkDataTable* SkDataTable::NewCopyArrays(const void * const * ptrs,
                                         const size_t sizes[], int count) {
     if (count < 0) {