flag to use const& instead of const* for src-rect

BUG=skia:

Review URL: https://codereview.chromium.org/1272713005
diff --git a/src/c/sk_surface.cpp b/src/c/sk_surface.cpp
index 1e676ff..84a9c54 100644
--- a/src/c/sk_surface.cpp
+++ b/src/c/sk_surface.cpp
@@ -162,10 +162,6 @@
     return reinterpret_cast<const SkRect&>(crect);
 }
 
-static const SkRect* AsRect(const sk_rect_t* crect) {
-    return reinterpret_cast<const SkRect*>(crect);
-}
-
 static const SkPath& AsPath(const sk_path_t& cpath) {
     return reinterpret_cast<const SkPath&>(cpath);
 }
@@ -399,7 +395,16 @@
 void sk_canvas_draw_image_rect(sk_canvas_t* ccanvas, const sk_image_t* cimage,
                                const sk_rect_t* csrcR, const sk_rect_t* cdstR,
                                const sk_paint_t* cpaint) {
-    AsCanvas(ccanvas)->drawImageRect(AsImage(cimage), AsRect(csrcR), AsRect(*cdstR), AsPaint(cpaint));
+    SkCanvas* canvas = AsCanvas(ccanvas);
+    const SkImage* image = AsImage(cimage);
+    const SkRect& dst = AsRect(*cdstR);
+    const SkPaint* paint = AsPaint(cpaint);
+
+    if (csrcR) {
+        canvas->drawImageRect(image, AsRect(*csrcR), dst, paint);
+    } else {
+        canvas->drawImageRect(image, dst, paint);
+    }
 }
 
 void sk_canvas_draw_picture(sk_canvas_t* ccanvas, const sk_picture_t* cpicture,