Reland r5861 but leave setMatrixClip virtual on SkDevice (IOW this is a partial revert of r5871 which reverted r5861).

Unreviewed
Review URL: https://codereview.appspot.com/6631062

git-svn-id: http://skia.googlecode.com/svn/trunk@5881 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/gpu/SkGpuDevice.h b/include/gpu/SkGpuDevice.h
index 790d4a9..b941894 100644
--- a/include/gpu/SkGpuDevice.h
+++ b/include/gpu/SkGpuDevice.h
@@ -51,12 +51,6 @@
 
     GrContext* context() const { return fContext; }
 
-    /**
-     *  Override from SkGpuDevice, so we can set our FBO to be the render target
-     *  The canvas parameter must be a SkGpuCanvas
-     */
-    virtual void gainFocus(const SkMatrix&, const SkRegion&) SK_OVERRIDE;
-
     virtual SkGpuRenderTarget* accessRenderTarget() SK_OVERRIDE;
 
     // overrides from SkDevice
@@ -65,9 +59,6 @@
     virtual void writePixels(const SkBitmap& bitmap, int x, int y,
                              SkCanvas::Config8888 config8888) SK_OVERRIDE;
 
-    virtual void setMatrixClip(const SkMatrix& matrix, const SkRegion& clip,
-                               const SkClipStack&) SK_OVERRIDE;
-
     virtual void drawPaint(const SkDraw&, const SkPaint& paint) SK_OVERRIDE;
     virtual void drawPoints(const SkDraw&, SkCanvas::PointMode mode, size_t count,
                             const SkPoint[], const SkPaint& paint) SK_OVERRIDE;
@@ -134,10 +125,9 @@
 
     GrClipData      fClipData;
 
-    // state for our offscreen render-target
+    // state for our render-target
     GrRenderTarget*     fRenderTarget;
     bool                fNeedClear;
-    bool                fNeedPrepareRenderTarget;
 
     // called from rt and tex cons
     void initFromRenderTarget(GrContext*, GrRenderTarget*, bool cached);
@@ -154,7 +144,7 @@
     SkDrawProcs* initDrawForText(GrTextContext*);
     bool bindDeviceAsTexture(GrPaint* paint);
 
-    void prepareRenderTarget(const SkDraw&);
+    void prepareDraw(const SkDraw&); // sets the render target, clip, and matrix on GrContext.
     bool shouldTileBitmap(const SkBitmap& bitmap,
                           const GrTextureParams& sampler,
                           const SkRect* srcRectPtr) const;