Forced GrClip to always have conservative bounds

http://codereview.appspot.com/6353089/



git-svn-id: http://skia.googlecode.com/svn/trunk@4545 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/include/gpu/GrClip.h b/include/gpu/GrClip.h
index 3385c74..4fd8ddd 100644
--- a/include/gpu/GrClip.h
+++ b/include/gpu/GrClip.h
@@ -22,21 +22,21 @@
     GrClip();
     GrClip(const GrClip& src);
     /**
-     *  If specified, the conservativeBounds parameter already takes (tx,ty)
-     *  into account.
+     *  The conservativeBounds parameter already takes (tx,ty) into account.
      */
     GrClip(GrClipIterator* iter, GrScalar tx, GrScalar ty,
-           const GrRect* conservativeBounds = NULL);
-    GrClip(const GrIRect& rect);
-    GrClip(const GrRect& rect);
+           const GrRect& conservativeBounds);
+    explicit GrClip(const GrIRect& rect);
+    explicit GrClip(const GrRect& rect);
 
     ~GrClip();
 
     GrClip& operator=(const GrClip& src);
 
-    bool hasConservativeBounds() const { return fConservativeBoundsValid; }
-
-    const GrRect& getConservativeBounds() const { return fConservativeBounds; }
+    const GrRect& getConservativeBounds() const { 
+        GrAssert(fConservativeBoundsValid);
+        return fConservativeBounds; 
+    }
 
     bool requiresAA() const { return fRequiresAA; }
 
@@ -90,7 +90,7 @@
      *  If specified, the bounds parameter already takes (tx,ty) into account.
      */
     void setFromIterator(GrClipIterator* iter, GrScalar tx, GrScalar ty,
-                         const GrRect* conservativeBounds = NULL);
+                         const GrRect& conservativeBounds);
     void setFromRect(const GrRect& rect);
     void setFromIRect(const GrIRect& rect);