retool so we don't need to call SkCanvas::setDevice
Review URL: https://codereview.appspot.com/6591054

git-svn-id: http://skia.googlecode.com/svn/trunk@5759 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleApp.h b/samplecode/SampleApp.h
index abd8ac7..85392e0 100644
--- a/samplecode/SampleApp.h
+++ b/samplecode/SampleApp.h
@@ -58,9 +58,7 @@
 
         // called before drawing. should install correct device
         // type on the canvas. Will skip drawing if returns false.
-        virtual bool prepareCanvas(DeviceType dType,
-                                   SkCanvas* canvas,
-                                   SampleWindow* win) = 0;
+        virtual SkCanvas* createCanvas(DeviceType dType, SampleWindow* win) = 0;
 
         // called after drawing, should get the results onto the
         // screen.
@@ -84,6 +82,17 @@
     SampleWindow(void* hwnd, int argc, char** argv, DeviceManager*);
     virtual ~SampleWindow();
 
+    virtual SkCanvas* createCanvas() SK_OVERRIDE {
+        SkCanvas* canvas = NULL;
+        if (fDevManager) {
+            canvas = fDevManager->createCanvas(fDeviceType, this);
+        }
+        if (NULL == canvas) {
+            canvas = this->INHERITED::createCanvas();
+        }
+        return canvas;
+    }
+
     virtual void draw(SkCanvas* canvas);
 
     void setDeviceType(DeviceType type);