rename SkDevice::eraseColor to clear and make virtual.
Properly flush in GrContext before calling GrGpu::clear()

Review URL: http://codereview.appspot.com/4419043/



git-svn-id: http://skia.googlecode.com/svn/trunk@1130 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/gpu/src/GrContext.cpp b/gpu/src/GrContext.cpp
index 8017f73..f68564a 100644
--- a/gpu/src/GrContext.cpp
+++ b/gpu/src/GrContext.cpp
@@ -325,8 +325,11 @@
 
 ////////////////////////////////////////////////////////////////////////////////
 
-void GrContext::eraseColor(GrColor color) {
-    fGpu->eraseColor(color);
+void GrContext::clear(GrColor color) {
+    // gpu flush call is immediate, must flush. 
+    // (could in theory skip draws to current render target.)
+    this->flush();
+    fGpu->clear(color);
 }
 
 void GrContext::drawPaint(const GrPaint& paint) {
diff --git a/gpu/src/GrGpu.cpp b/gpu/src/GrGpu.cpp
index 43fe648..c8e2bc7 100644
--- a/gpu/src/GrGpu.cpp
+++ b/gpu/src/GrGpu.cpp
@@ -173,9 +173,9 @@
     return this->onCreateIndexBuffer(size, dynamic);
 }
 
-void GrGpu::eraseColor(GrColor color) {
+void GrGpu::clear(GrColor color) {
     this->handleDirtyContext();
-    this->onEraseColor(color);
+    this->onClear(color);
 }
 
 void GrGpu::forceRenderTargetFlush() {
@@ -423,7 +423,7 @@
             AutoInternalDrawGeomRestore aidgr(this);
 
             this->setViewMatrix(GrMatrix::I());
-            this->eraseStencilClip(clipRect);
+            this->clearStencilClip(clipRect);
             this->flushScissor(NULL);
 #if !VISUALIZE_COMPLEX_CLIP
             this->enableState(kNoColorWrites_StateBit);
diff --git a/gpu/src/GrGpuGL.cpp b/gpu/src/GrGpuGL.cpp
index fe461cc..64431a3 100644
--- a/gpu/src/GrGpuGL.cpp
+++ b/gpu/src/GrGpuGL.cpp
@@ -1080,7 +1080,7 @@
         if (!(desc.fFlags & kNoStencil_TextureFlag)) {
             GrRenderTarget* rtSave = fCurrDrawState.fRenderTarget;
             fCurrDrawState.fRenderTarget = rt;
-            eraseStencil(0, ~0);
+            this->clearStencil(0, ~0);
             fCurrDrawState.fRenderTarget = rtSave;
         }
     }
@@ -1165,7 +1165,7 @@
     }
 }
 
-void GrGpuGL::onEraseColor(GrColor color) {
+void GrGpuGL::onClear(GrColor color) {
     if (NULL == fCurrDrawState.fRenderTarget) {
         return;
     }
@@ -1183,7 +1183,7 @@
     GR_GL(Clear(GR_GL_COLOR_BUFFER_BIT));
 }
 
-void GrGpuGL::eraseStencil(uint32_t value, uint32_t mask) {
+void GrGpuGL::clearStencil(uint32_t value, uint32_t mask) {
     if (NULL == fCurrDrawState.fRenderTarget) {
         return;
     }
@@ -1198,7 +1198,7 @@
     fHWDrawState.fStencilSettings.invalidate();
 }
 
-void GrGpuGL::eraseStencilClip(const GrIRect& rect) {
+void GrGpuGL::clearStencilClip(const GrIRect& rect) {
     GrAssert(NULL != fCurrDrawState.fRenderTarget);
 #if 0
     GrGLint stencilBitCount = fCurrDrawState.fRenderTarget->stencilBits();
diff --git a/gpu/src/GrGpuGL.h b/gpu/src/GrGpuGL.h
index eaeec5e..08edb27 100644
--- a/gpu/src/GrGpuGL.h
+++ b/gpu/src/GrGpuGL.h
@@ -87,7 +87,7 @@
                                                  int width, int height);
     virtual GrRenderTarget* onCreateRenderTargetFrom3DApiState();
 
-    virtual void onEraseColor(GrColor color);
+    virtual void onClear(GrColor color);
 
     virtual void onForceRenderTargetFlush();
 
@@ -104,8 +104,8 @@
                                       uint32_t vertexCount,
                                       uint32_t numVertices);
     virtual void flushScissor(const GrIRect* rect);
-    void eraseStencil(uint32_t value, uint32_t mask);
-    virtual void eraseStencilClip(const GrIRect& rect);
+    void clearStencil(uint32_t value, uint32_t mask);
+    virtual void clearStencilClip(const GrIRect& rect);
 
     // binds texture unit in GL
     void setTextureUnit(int unitIdx);