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);