SkRemote:  simple impl of onDraw*Text*

Review URL: https://codereview.chromium.org/1409273004
diff --git a/src/core/SkRemote.cpp b/src/core/SkRemote.cpp
index 4f2714f..23f3741 100644
--- a/src/core/SkRemote.cpp
+++ b/src/core/SkRemote.cpp
@@ -233,6 +233,35 @@
         this->onDrawRect(SkRect::MakeLargest(), paint);
     }
 
+    void Client::onDrawText(const void* text, size_t byteLength, SkScalar x,
+                            SkScalar y, const SkPaint& paint) {
+        // Text-as-paths is a temporary hack.
+        // TODO: send SkTextBlobs and SkTypefaces
+        SkPath path;
+        paint.getTextPath(text, byteLength, x, y, &path);
+        this->onDrawPath(path, paint);
+    }
+
+    void Client::onDrawPosText(const void* text, size_t byteLength,
+                               const SkPoint pos[], const SkPaint& paint) {
+        // Text-as-paths is a temporary hack.
+        // TODO: send SkTextBlobs and SkTypefaces
+        SkPath path;
+        paint.getPosTextPath(text, byteLength, pos, &path);
+        this->onDrawPath(path, paint);
+    }
+
+    void Client::onDrawPosTextH(const void* text, size_t byteLength,
+                                const SkScalar xpos[], SkScalar constY,
+                                const SkPaint& paint) {
+        size_t length = paint.countText(text, byteLength);
+        SkAutoTArray<SkPoint> pos(length);
+        for(size_t i = 0; i < length; ++i) {
+            pos[i].set(xpos[i], constY);
+        }
+        this->onDrawPosText(text, byteLength, &pos[0], paint);
+    }
+
     void Client::onClipRect(const SkRect& rect, SkRegion::Op op, ClipEdgeStyle edgeStyle) {
         SkPath path;
         path.addRect(rect);
diff --git a/src/core/SkRemote.h b/src/core/SkRemote.h
index 5324644..fa62dad 100644
--- a/src/core/SkRemote.h
+++ b/src/core/SkRemote.h
@@ -98,6 +98,13 @@
         void onDrawRect(const SkRect&, const SkPaint&) override;
         void onDrawPaint(const SkPaint&) override;
 
+        void onDrawText(const void*, size_t, SkScalar,
+                        SkScalar, const SkPaint&) override;
+        void onDrawPosText(const void*, size_t, const SkPoint[],
+                           const SkPaint&) override;
+        void onDrawPosTextH(const void*, size_t, const SkScalar[], SkScalar,
+                            const SkPaint&) override;
+
         Cache*   fCache;
         Encoder* fEncoder;
     };