privatize SkPtrRecorder.h
authormike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Sun, 12 Aug 2012 19:34:07 +0000 (19:34 +0000)
committermike@reedtribe.org <mike@reedtribe.org@2bbb7eff-a529-9590-31e7-b0007b416f81>
Sun, 12 Aug 2012 19:34:07 +0000 (19:34 +0000)
git-svn-id: http://skia.googlecode.com/svn/trunk@5047 2bbb7eff-a529-9590-31e7-b0007b416f81

gyp/core.gypi
include/core/SkPtrRecorder.h [deleted file]
src/core/SkPtrRecorder.h [new file with mode: 0644]

index 92080d8bba05b26988a7aa40bc86ccf444cc1518..a85ed64be4b71d199ab7576232bd70c2a188d083 100644 (file)
         '<(skia_include_path)/core/SkPicture.h',
         '<(skia_include_path)/core/SkPixelRef.h',
         '<(skia_include_path)/core/SkPoint.h',
-        '<(skia_include_path)/core/SkPtrRecorder.h',
         '<(skia_include_path)/core/SkRandom.h',
         '<(skia_include_path)/core/SkRasterizer.h',
         '<(skia_include_path)/core/SkReader32.h',
diff --git a/include/core/SkPtrRecorder.h b/include/core/SkPtrRecorder.h
deleted file mode 100644 (file)
index 8a48325..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-
-/*
- * Copyright 2008 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 SkPtrSet_DEFINED
-#define SkPtrSet_DEFINED
-
-#include "SkRefCnt.h"
-#include "SkFlattenable.h"
-#include "SkTDArray.h"
-
-/**
- *  Maintains a set of ptrs, assigning each a unique ID [1...N]. Duplicate ptrs
- *  return the same ID (since its a set). Subclasses can override inPtr()
- *  and decPtr(). incPtr() is called each time a unique ptr is added ot the
- *  set. decPtr() is called on each ptr when the set is destroyed or reset.
- */
-class SkPtrSet : public SkRefCnt {
-public:
-    SK_DECLARE_INST_COUNT(SkPtrSet)
-
-    /**
-     *  Search for the specified ptr in the set. If it is found, return its
-     *  32bit ID [1..N], or if not found, return 0. Always returns 0 for NULL.
-     */
-    uint32_t find(void*) const;
-
-    /**
-     *  Add the specified ptr to the set, returning a unique 32bit ID for it
-     *  [1...N]. Duplicate ptrs will return the same ID.
-     *
-     *  If the ptr is NULL, it is not added, and 0 is returned.
-     */
-    uint32_t add(void*);
-    
-    /**
-     *  Return the number of (non-null) ptrs in the set.
-     */
-    int count() const { return fList.count(); }
-
-    /**
-     *  Copy the ptrs in the set into the specified array (allocated by the
-     *  caller). The ptrs are assgined to the array based on their corresponding
-     *  ID. e.g. array[ptr.ID - 1] = ptr.
-     *
-     *  incPtr() and decPtr() are not called during this operation.
-     */
-    void copyToArray(void* array[]) const;
-
-    /**
-     *  Call decPtr() on each ptr in the set, and the reset the size of the set
-     *  to 0.
-     */
-    void reset();
-
-protected:
-    virtual void incPtr(void* ptr) {}
-    virtual void decPtr(void* ptr) {}
-
-private:
-    struct Pair {
-        void*       fPtr;   // never NULL
-        uint32_t    fIndex; // 1...N
-    };
-
-    // we store the ptrs in sorted-order (using Cmp) so that we can efficiently
-    // detect duplicates when add() is called. Hence we need to store the
-    // ptr and its ID/fIndex explicitly, since the ptr's position in the array
-    // is not related to its "index".
-    SkTDArray<Pair>  fList;
-    
-    static int Cmp(const Pair* a, const Pair* b);
-    
-    typedef SkRefCnt INHERITED;
-};
-
-/**
- *  Templated wrapper for SkPtrSet, just meant to automate typecasting
- *  parameters to and from void* (which the base class expects).
- */
-template <typename T> class SkTPtrSet : public SkPtrSet {
-public:
-    uint32_t find(T ptr) {
-        return this->INHERITED::find((void*)ptr);
-    }
-    uint32_t add(T ptr) {
-        return this->INHERITED::add((void*)ptr);
-    }
-    
-    void copyToArray(T* array) const {
-        this->INHERITED::copyToArray((void**)array);
-    }
-
-private:
-    typedef SkPtrSet INHERITED;
-};
-
-/**
- *  Subclass of SkTPtrSet specialed to call ref() and unref() when the
- *  base class's incPtr() and decPtr() are called. This makes it a valid owner
- *  of each ptr, which is released when the set is reset or destroyed.
- */
-class SkRefCntSet : public SkTPtrSet<SkRefCnt*> {
-public:
-    virtual ~SkRefCntSet();
-    
-protected:
-    // overrides
-    virtual void incPtr(void*);
-    virtual void decPtr(void*);
-};
-
-class SkFactorySet : public SkTPtrSet<SkFlattenable::Factory> {};
-
-/**
- * Similar to SkFactorySet, but only allows Factorys that have registered names.
- * Also has a function to return the next added Factory's name.
- */
-class SkNamedFactorySet : public SkRefCnt {
-public:
-    SkNamedFactorySet();
-    
-    /**
-     * Find the specified Factory in the set. If it is not already in the set,
-     * and has registered its name, add it to the set, and return its index.
-     * If the Factory has no registered name, return 0.
-     */
-    uint32_t find(SkFlattenable::Factory);
-    
-    /**
-     * If new Factorys have been added to the set, return the name of the first
-     * Factory added after the Factory name returned by the last call to this
-     * function.
-     */
-    const char* getNextAddedFactoryName();
-private:
-    int                    fNextAddedFactory;
-    SkFactorySet           fFactorySet;
-    SkTDArray<const char*> fNames;
-};
-
-#endif
diff --git a/src/core/SkPtrRecorder.h b/src/core/SkPtrRecorder.h
new file mode 100644 (file)
index 0000000..8a48325
--- /dev/null
@@ -0,0 +1,147 @@
+
+/*
+ * Copyright 2008 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 SkPtrSet_DEFINED
+#define SkPtrSet_DEFINED
+
+#include "SkRefCnt.h"
+#include "SkFlattenable.h"
+#include "SkTDArray.h"
+
+/**
+ *  Maintains a set of ptrs, assigning each a unique ID [1...N]. Duplicate ptrs
+ *  return the same ID (since its a set). Subclasses can override inPtr()
+ *  and decPtr(). incPtr() is called each time a unique ptr is added ot the
+ *  set. decPtr() is called on each ptr when the set is destroyed or reset.
+ */
+class SkPtrSet : public SkRefCnt {
+public:
+    SK_DECLARE_INST_COUNT(SkPtrSet)
+
+    /**
+     *  Search for the specified ptr in the set. If it is found, return its
+     *  32bit ID [1..N], or if not found, return 0. Always returns 0 for NULL.
+     */
+    uint32_t find(void*) const;
+
+    /**
+     *  Add the specified ptr to the set, returning a unique 32bit ID for it
+     *  [1...N]. Duplicate ptrs will return the same ID.
+     *
+     *  If the ptr is NULL, it is not added, and 0 is returned.
+     */
+    uint32_t add(void*);
+    
+    /**
+     *  Return the number of (non-null) ptrs in the set.
+     */
+    int count() const { return fList.count(); }
+
+    /**
+     *  Copy the ptrs in the set into the specified array (allocated by the
+     *  caller). The ptrs are assgined to the array based on their corresponding
+     *  ID. e.g. array[ptr.ID - 1] = ptr.
+     *
+     *  incPtr() and decPtr() are not called during this operation.
+     */
+    void copyToArray(void* array[]) const;
+
+    /**
+     *  Call decPtr() on each ptr in the set, and the reset the size of the set
+     *  to 0.
+     */
+    void reset();
+
+protected:
+    virtual void incPtr(void* ptr) {}
+    virtual void decPtr(void* ptr) {}
+
+private:
+    struct Pair {
+        void*       fPtr;   // never NULL
+        uint32_t    fIndex; // 1...N
+    };
+
+    // we store the ptrs in sorted-order (using Cmp) so that we can efficiently
+    // detect duplicates when add() is called. Hence we need to store the
+    // ptr and its ID/fIndex explicitly, since the ptr's position in the array
+    // is not related to its "index".
+    SkTDArray<Pair>  fList;
+    
+    static int Cmp(const Pair* a, const Pair* b);
+    
+    typedef SkRefCnt INHERITED;
+};
+
+/**
+ *  Templated wrapper for SkPtrSet, just meant to automate typecasting
+ *  parameters to and from void* (which the base class expects).
+ */
+template <typename T> class SkTPtrSet : public SkPtrSet {
+public:
+    uint32_t find(T ptr) {
+        return this->INHERITED::find((void*)ptr);
+    }
+    uint32_t add(T ptr) {
+        return this->INHERITED::add((void*)ptr);
+    }
+    
+    void copyToArray(T* array) const {
+        this->INHERITED::copyToArray((void**)array);
+    }
+
+private:
+    typedef SkPtrSet INHERITED;
+};
+
+/**
+ *  Subclass of SkTPtrSet specialed to call ref() and unref() when the
+ *  base class's incPtr() and decPtr() are called. This makes it a valid owner
+ *  of each ptr, which is released when the set is reset or destroyed.
+ */
+class SkRefCntSet : public SkTPtrSet<SkRefCnt*> {
+public:
+    virtual ~SkRefCntSet();
+    
+protected:
+    // overrides
+    virtual void incPtr(void*);
+    virtual void decPtr(void*);
+};
+
+class SkFactorySet : public SkTPtrSet<SkFlattenable::Factory> {};
+
+/**
+ * Similar to SkFactorySet, but only allows Factorys that have registered names.
+ * Also has a function to return the next added Factory's name.
+ */
+class SkNamedFactorySet : public SkRefCnt {
+public:
+    SkNamedFactorySet();
+    
+    /**
+     * Find the specified Factory in the set. If it is not already in the set,
+     * and has registered its name, add it to the set, and return its index.
+     * If the Factory has no registered name, return 0.
+     */
+    uint32_t find(SkFlattenable::Factory);
+    
+    /**
+     * If new Factorys have been added to the set, return the name of the first
+     * Factory added after the Factory name returned by the last call to this
+     * function.
+     */
+    const char* getNextAddedFactoryName();
+private:
+    int                    fNextAddedFactory;
+    SkFactorySet           fFactorySet;
+    SkTDArray<const char*> fNames;
+};
+
+#endif