Add SkSTArray, hide stack storage cons in SkTArray, unify SkTArray init logic

Review URL: http://codereview.appspot.com/5127044/



git-svn-id: http://skia.googlecode.com/svn/trunk@2342 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrInOrderDrawBuffer.h b/gpu/src/GrInOrderDrawBuffer.h
index f0b5c9e..122be53 100644
--- a/gpu/src/GrInOrderDrawBuffer.h
+++ b/gpu/src/GrInOrderDrawBuffer.h
@@ -161,6 +161,15 @@
     GrVertexBufferAllocPool&        fVertexPool;
 
     GrIndexBufferAllocPool&         fIndexPool;
+
+    enum {
+        kDrawPreallocCnt         = 8,
+        kStatePreallocCnt        = 8,
+        kClipPreallocCnt         = 8,
+        kClearPreallocCnt        = 4,
+        kGeoPoolStatePreAllocCnt = 4,
+    };
+
     struct GeometryPoolState {
         const GrVertexBuffer*           fPoolVertexBuffer;
         int                             fPoolStartVertex;
@@ -172,23 +181,12 @@
         size_t                          fUsedPoolVertexBytes;
         size_t                          fUsedPoolIndexBytes;
     };
-    SkTArray<GeometryPoolState> fGeoPoolStateStack;
-
-    
-    enum {
-        kDrawPreallocCnt         = 8,
-        kStatePreallocCnt        = 8,
-        kClipPreallocCnt         = 8,
-        kClearPreallocCnt        = 4,
-        kGeoPoolStatePreAllocCnt = 4,
-    };
+    SkSTArray<kGeoPoolStatePreAllocCnt, GeometryPoolState> fGeoPoolStateStack;
 
     SkAlignedSTStorage<kDrawPreallocCnt, Draw>              fDrawStorage;
     SkAlignedSTStorage<kStatePreallocCnt, SavedDrawState>   fStateStorage;
     SkAlignedSTStorage<kClipPreallocCnt, GrClip>            fClipStorage;
     SkAlignedSTStorage<kClearPreallocCnt, Clear>            fClearStorage;
-    SkAlignedSTStorage<kGeoPoolStatePreAllocCnt, 
-                        GeometryPoolState>                  fGeoStackStorage;
 
     typedef GrDrawTarget INHERITED;
 };