Added GrContext::AutoClipStack to encapsulate setting\resetting of clip stack

http://codereview.appspot.com/6343097/



git-svn-id: http://skia.googlecode.com/svn/trunk@4558 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/src/gpu/SkGpuDevice.cpp b/src/gpu/SkGpuDevice.cpp
index fc77c47..2a2bbcd 100644
--- a/src/gpu/SkGpuDevice.cpp
+++ b/src/gpu/SkGpuDevice.cpp
@@ -1445,10 +1445,7 @@
     SkASSERT(srcTexture && srcTexture->getContext() == context);
     GrContext::AutoMatrix avm(context, GrMatrix::I());
     GrContext::AutoRenderTarget art(context, dstTexture->asRenderTarget());
-    GrClip oldClip = context->getClip();
-
-    GrClip newClip(rect);
-    context->setClip(newClip);
+    GrContext::AutoClip acs(context, rect);
 
     GrMatrix sampleM;
     sampleM.setIDiv(srcTexture->width(), srcTexture->height());
@@ -1459,7 +1456,6 @@
     paint.textureSampler(0)->setCustomStage(stage);
     paint.setTexture(0, srcTexture);
     context->drawRect(paint, rect);
-    context->setClip(oldClip);
 }
 
 };