Changing SkDeferredCanvas to use factories for creation
The objective of this change is to remove all calls to
SkCanvas::setDevice. The factory API is hidden behind
a build flag in order to ease the roll into chromium.
A side-effect of the factory pattern is that it will
no longer be possible to allocate a SkDeferredCanvas on
the stack. This changes nothing for chrome, but it
impacts skia test programs.
Review URL: https://codereview.chromium.org/16040002
git-svn-id: http://skia.googlecode.com/svn/trunk@9298 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/bench/benchmain.cpp b/bench/benchmain.cpp
index 543da27..4d385a2 100644
--- a/bench/benchmain.cpp
+++ b/bench/benchmain.cpp
@@ -820,7 +820,12 @@
switch(benchMode) {
case kDeferredSilent_benchModes:
case kDeferred_benchModes:
- canvas = new SkDeferredCanvas(device);
+ canvas =
+#if SK_DEFERRED_CANVAS_USES_FACTORIES
+ SkDeferredCanvas::Create(device);
+#else
+ SkNEW_ARGS(SkDeferredCanvas, (device));
+#endif
break;
case kRecord_benchModes:
canvas = pictureRecordTo.beginRecording(dim.fX, dim.fY,