Return to save/translate/restore for drawing via SkPicture

Can't really cache (x, y) in the picture - it's coming from the paint

Change-Id: I4ff9abe19dcd5394b40af427dfab03e8c38fba0e
Reviewed-on: https://skia-review.googlesource.com/c/skia/+/315648
Reviewed-by: Ben Wagner <bungeman@google.com>
Commit-Queue: Julia Lavrova <jlavrova@google.com>
diff --git a/modules/skparagraph/samples/SampleParagraph.cpp b/modules/skparagraph/samples/SampleParagraph.cpp
index 811b80e..18bef2f 100644
--- a/modules/skparagraph/samples/SampleParagraph.cpp
+++ b/modules/skparagraph/samples/SampleParagraph.cpp
@@ -2904,8 +2904,7 @@
 
     void onDrawContent(SkCanvas* canvas) override {
 
-        SkString text;
-        for (auto i = 0; i < 150; ++i) text.append("XXXXXXXXXX");
+        auto text = "XXXXXXXXXX\nYYYYYYYYYY\nZZZZZZZZZZ";
         canvas->drawColor(SK_ColorWHITE);
 
         auto fontCollection = sk_make_sp<FontCollection>();
@@ -2914,7 +2913,8 @@
 
         ParagraphStyle paragraph_style;
 
-        auto draw = [&](DrawOptions options) {
+        auto column = width()/3;
+        auto draw = [&](DrawOptions options, SkScalar x) {
             paragraph_style.setDrawOptions(options);
             ParagraphBuilderImpl builder(paragraph_style, fontCollection);
             TextStyle text_style;
@@ -2922,16 +2922,17 @@
             text_style.setFontFamilies({SkString("Roboto")});
             text_style.setFontSize(20);
             builder.pushStyle(text_style);
-            builder.addText(text.c_str());
+            builder.addText(text);
             auto paragraph = builder.Build();
-            paragraph->layout(width() / 3);
-            paragraph->paint(canvas, 0, 0);
-            canvas->translate(width() / 3, 0);
+            paragraph->layout(column);
+            paragraph->paint(canvas, x, 000);
+            paragraph->paint(canvas, x, 200);
+            paragraph->paint(canvas, x, 400);
         };
 
-        draw(DrawOptions::kReplay);
-        draw(DrawOptions::kRecord);
-        draw(DrawOptions::kDirect);
+        draw(DrawOptions::kReplay, column*0);
+        draw(DrawOptions::kRecord, column*1);
+        draw(DrawOptions::kDirect, column*2);
     }
 
 private: