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/GrAAHairLinePathRenderer.cpp b/gpu/src/GrAAHairLinePathRenderer.cpp
index 32a477b..6c136e2 100644
--- a/gpu/src/GrAAHairLinePathRenderer.cpp
+++ b/gpu/src/GrAAHairLinePathRenderer.cpp
@@ -133,6 +133,7 @@
 namespace {
 
 typedef SkTArray<SkPoint, true> PtArray;
+#define PREALLOC_PTARRAY(N) SkSTArray<(N),SkPoint, true>
 typedef SkTArray<int, true> IntArray;
 
 /**
@@ -344,8 +345,7 @@
                 bounds.outset(SK_Scalar1, SK_Scalar1);
                 bounds.roundOut(&ibounds);
                 if (SkIRect::Intersects(clip, ibounds)) {
-                    SkPoint stackStorage[32];
-                    PtArray q((void*)stackStorage, 32);
+                    PREALLOC_PTARRAY(32) q;
                     // in perspective have to do conversion in src space
                     if (persp) {
                         SkScalar tolScale = 
@@ -629,10 +629,8 @@
 
     GrMatrix viewM = fTarget->getViewMatrix();
 
-    SkAlignedSTStorage<128, GrPoint> lineStorage;
-    SkAlignedSTStorage<128, GrPoint> quadStorage;
-    PtArray lines(&lineStorage);
-    PtArray quads(&quadStorage);
+    PREALLOC_PTARRAY(128) lines;
+    PREALLOC_PTARRAY(128) quads;
     IntArray qSubdivs;
     fQuadCnt = generate_lines_and_quads(*fPath, viewM, fTranslate, clip,
                                         &lines, &quads, &qSubdivs);