diff --git a/samplecode/SampleChart.cpp b/samplecode/SampleChart.cpp
index 0c8949c..46ce7d3 100644
--- a/samplecode/SampleChart.cpp
+++ b/samplecode/SampleChart.cpp
@@ -99,8 +99,8 @@
 
     void onDrawContent(SkCanvas* canvas) override {
         bool sizeChanged = false;
-        if (canvas->getDeviceSize() != fSize) {
-            fSize = canvas->getDeviceSize();
+        if (canvas->getBaseLayerSize() != fSize) {
+            fSize = canvas->getBaseLayerSize();
             sizeChanged = true;
         }
 
diff --git a/samplecode/SampleClipDrawMatch.cpp b/samplecode/SampleClipDrawMatch.cpp
index ea30cc6..b2158a6 100644
--- a/samplecode/SampleClipDrawMatch.cpp
+++ b/samplecode/SampleClipDrawMatch.cpp
@@ -204,7 +204,7 @@
             } break;
         }
 
-        SkISize size = canvas->getDeviceSize();
+        SkISize size = canvas->getBaseLayerSize();
         SkRect bigR = SkRect::MakeWH(SkIntToScalar(size.width()), SkIntToScalar(size.height()));
 
         SkPaint p;
diff --git a/samplecode/SampleManyRects.cpp b/samplecode/SampleManyRects.cpp
index 66274a4..cb19595 100644
--- a/samplecode/SampleManyRects.cpp
+++ b/samplecode/SampleManyRects.cpp
@@ -33,7 +33,7 @@
     }
 
     void onDrawContent(SkCanvas* canvas) override {
-        SkISize dsize = canvas->getDeviceSize();
+        SkISize dsize = canvas->getBaseLayerSize();
         canvas->clear(0xFFF0E0F0);
 
         for (int i = 0; i < N; ++i) {
diff --git a/samplecode/SamplePolyToPoly.cpp b/samplecode/SamplePolyToPoly.cpp
index 6cb818a..8594c2b 100644
--- a/samplecode/SamplePolyToPoly.cpp
+++ b/samplecode/SamplePolyToPoly.cpp
@@ -98,7 +98,7 @@
         paint->setColor(SK_ColorGRAY);
         paint->setStyle(SkPaint::kStroke_Style);
         const SkScalar D = SkIntToScalar(64);
-        canvas->drawRectCoords(0, 0, D, D, *paint);
+        canvas->drawRect(SkRect::MakeWH(D, D), *paint);
         canvas->drawLine(0, 0, D, D, *paint);
         canvas->drawLine(0, D, D, 0, *paint);
 
diff --git a/samplecode/SampleShaders.cpp b/samplecode/SampleShaders.cpp
index f9926eb..7ca74cc 100644
--- a/samplecode/SampleShaders.cpp
+++ b/samplecode/SampleShaders.cpp
@@ -76,15 +76,15 @@
     void onDrawContent(SkCanvas* canvas) override {
         canvas->drawBitmap(fBitmap, 0, 0);
 
-        canvas->translate(SkIntToScalar(20), SkIntToScalar(120));
+        canvas->translate(20, 120);
 
         SkPaint paint;
         SkRect  r;
 
         paint.setColor(SK_ColorGREEN);
-        canvas->drawRectCoords(0, 0, SkIntToScalar(100), SkIntToScalar(100), paint);
+        canvas->drawRect(SkRect::MakeWH(100, 100), paint);
         paint.setShader(fShader);
-        canvas->drawRectCoords(0, 0, SkIntToScalar(100), SkIntToScalar(100), paint);
+        canvas->drawRect(SkRect::MakeWH(100, 100), paint);
 
         canvas->translate(SkIntToScalar(110), 0);
 
