add drawString helper to canvas

Many tests and examples use drawText with
a guess of how long the text is in bytes,
or a call to strlen(). Add a helper to
SkCanvas to simplify these examples.

Add another helper for SkString.

R=reed@google.com

Change-Id: I0204a31e938f065606f08ee7cd9a6b36db791ee2
Reviewed-on: https://skia-review.googlesource.com/13642
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Reviewed-by: Mike Reed <reed@google.com>
Reviewed-by: Cary Clark <caryclark@skia.org>
diff --git a/bench/DisplacementBench.cpp b/bench/DisplacementBench.cpp
index 9edf214..3dd7965 100644
--- a/bench/DisplacementBench.cpp
+++ b/bench/DisplacementBench.cpp
@@ -40,7 +40,7 @@
         paint.setColor(0xFF884422);
         paint.setTextSize(SkIntToScalar(96));
         const char* str = "g";
-        canvas.drawText(str, strlen(str), SkIntToScalar(15), SkIntToScalar(55), paint);
+        canvas.drawString(str, SkIntToScalar(15), SkIntToScalar(55), paint);
     }
 
     void makeCheckerboard() {
diff --git a/bench/FontScalerBench.cpp b/bench/FontScalerBench.cpp
index a5ab7b5..366c54c 100644
--- a/bench/FontScalerBench.cpp
+++ b/bench/FontScalerBench.cpp
@@ -37,7 +37,7 @@
 
             for (int ps = 9; ps <= 24; ps += 2) {
                 paint.setTextSize(SkIntToScalar(ps));
-                canvas->drawText(fText.c_str(), fText.size(),
+                canvas->drawString(fText,
                         0, SkIntToScalar(20), paint);
             }
         }
diff --git a/bench/MergeBench.cpp b/bench/MergeBench.cpp
index 8b6004d..c37d198 100644
--- a/bench/MergeBench.cpp
+++ b/bench/MergeBench.cpp
@@ -24,7 +24,7 @@
     paint.setColor(0xFF884422);
     paint.setTextSize(SkIntToScalar(96));
     const char* str = "g";
-    surface->getCanvas()->drawText(str, strlen(str), 15, 55, paint);
+    surface->getCanvas()->drawString(str, 15, 55, paint);
     return surface->makeImageSnapshot();
 }
 
diff --git a/bench/ShaderMaskBench.cpp b/bench/ShaderMaskBench.cpp
index 90a5037..8fd99b6 100644
--- a/bench/ShaderMaskBench.cpp
+++ b/bench/ShaderMaskBench.cpp
@@ -71,14 +71,14 @@
         for (int i = 0; i < loops; i++) {
             SkScalar x = x0 + rand.nextUScalar1() * dim.fX;
             SkScalar y = y0 + rand.nextUScalar1() * dim.fY;
-            canvas->drawText(fText.c_str(), fText.size(), x, y, paint);
+            canvas->drawString(fText, x, y, paint);
         }
 
         paint.setTextSize(SkIntToScalar(48));
         for (int i = 0; i < loops / 4 ; i++) {
             SkScalar x = x0 + rand.nextUScalar1() * dim.fX;
             SkScalar y = y0 + rand.nextUScalar1() * dim.fY;
-            canvas->drawText(fText.c_str(), fText.size(), x, y, paint);
+            canvas->drawString(fText, x, y, paint);
         }
     }
 
diff --git a/bench/TextBench.cpp b/bench/TextBench.cpp
index f4a7cdd..6e9df4a 100644
--- a/bench/TextBench.cpp
+++ b/bench/TextBench.cpp
@@ -140,7 +140,7 @@
             } else {
                 SkScalar x = x0 + rand.nextUScalar1() * dim.fX;
                 SkScalar y = y0 + rand.nextUScalar1() * dim.fY;
-                canvas->drawText(fText.c_str(), fText.size(), x, y, paint);
+                canvas->drawString(fText, x, y, paint);
             }
         }
     }