Fast implementation of QuadTree

Rewritten to avoid memory allocations.

BUG=skia:2242
R=tomhudson@google.com, mtklein@google.com, reed@google.com, robertphillips@google.com

Author: iancottrell@google.com

Review URL: https://codereview.chromium.org/187233002

git-svn-id: http://skia.googlecode.com/svn/trunk@13826 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/bench/QuadTreeBench.cpp b/bench/QuadTreeBench.cpp
index f1d5bcf..4204e91 100644
--- a/bench/QuadTreeBench.cpp
+++ b/bench/QuadTreeBench.cpp
@@ -180,33 +180,37 @@
 
 DEF_BENCH(
     return SkNEW_ARGS(BBoxBuildBench, ("XYordered", &make_XYordered_rects,
-                      SkQuadTree::Create(QUAD_TREE_BOUNDS)));
+                      SkNEW_ARGS(SkQuadTree, (QUAD_TREE_BOUNDS))));
 )
 DEF_BENCH(
     return SkNEW_ARGS(BBoxQueryBench, ("XYordered", &make_XYordered_rects,
-                      BBoxQueryBench::kRandom_QueryType, SkQuadTree::Create(QUAD_TREE_BOUNDS)));
+                      BBoxQueryBench::kRandom_QueryType,
+                      SkNEW_ARGS(SkQuadTree, (QUAD_TREE_BOUNDS))));
 )
 DEF_BENCH(
     return SkNEW_ARGS(BBoxBuildBench, ("YXordered", &make_YXordered_rects,
-                      SkQuadTree::Create(QUAD_TREE_BOUNDS)));
+                      SkNEW_ARGS(SkQuadTree, (QUAD_TREE_BOUNDS))));
 )
 DEF_BENCH(
     return SkNEW_ARGS(BBoxQueryBench, ("YXordered", &make_YXordered_rects,
-                      BBoxQueryBench::kRandom_QueryType, SkQuadTree::Create(QUAD_TREE_BOUNDS)));
+                      BBoxQueryBench::kRandom_QueryType,
+                      SkNEW_ARGS(SkQuadTree, (QUAD_TREE_BOUNDS))));
 )
 DEF_BENCH(
     return SkNEW_ARGS(BBoxBuildBench, ("random", &make_random_rects,
-                      SkQuadTree::Create(QUAD_TREE_BOUNDS)));
+                      SkNEW_ARGS(SkQuadTree, (QUAD_TREE_BOUNDS))));
 )
 DEF_BENCH(
     return SkNEW_ARGS(BBoxQueryBench, ("random", &make_random_rects,
-                      BBoxQueryBench::kRandom_QueryType, SkQuadTree::Create(QUAD_TREE_BOUNDS)));
+                      BBoxQueryBench::kRandom_QueryType,
+                      SkNEW_ARGS(SkQuadTree, (QUAD_TREE_BOUNDS))));
 )
 DEF_BENCH(
     return SkNEW_ARGS(BBoxBuildBench, ("concentric", &make_concentric_rects_increasing,
-                      SkQuadTree::Create(QUAD_TREE_BOUNDS)));
+                      SkNEW_ARGS(SkQuadTree, (QUAD_TREE_BOUNDS))));
 )
 DEF_BENCH(
     return SkNEW_ARGS(BBoxQueryBench, ("concentric", &make_concentric_rects_increasing,
-                      BBoxQueryBench::kRandom_QueryType, SkQuadTree::Create(QUAD_TREE_BOUNDS)));
+                      BBoxQueryBench::kRandom_QueryType,
+                      SkNEW_ARGS(SkQuadTree, (QUAD_TREE_BOUNDS))));
 )