hide trivial helpers on canvas
authorMike Reed <reed@google.com>
Wed, 22 Feb 2017 18:21:42 +0000 (13:21 -0500)
committerSkia Commit-Bot <skia-commit-bot@chromium.org>
Wed, 22 Feb 2017 19:41:04 +0000 (19:41 +0000)
BUG=skia:

Change-Id: I42d4ca92897bde5bd8e0575a0104b12b83134cef
Reviewed-on: https://skia-review.googlesource.com/8852
Reviewed-by: Cary Clark <caryclark@google.com>
Commit-Queue: Mike Reed <reed@google.com>

37 files changed:
bench/BitmapBench.cpp
bench/ChartBench.cpp
bench/GameBench.cpp
bench/GrMipMapBench.cpp
bench/ReadPixBench.cpp
bench/WritePixelsBench.cpp
bench/XfermodeBench.cpp
gm/aaa.cpp
gm/aaxfermodes.cpp
gm/bitmapcopy.cpp
gm/composeshader.cpp
gm/convexpolyclip.cpp
gm/drawlooper.cpp
gm/glyph_pos.cpp
gm/imagescalealigned.cpp
gm/lcdblendmodes.cpp
gm/pixelsnap.cpp
gm/poly2poly.cpp
gm/simple_magnification.cpp
gm/tiledscaledbitmap.cpp
gn/android_framework_defines.gni
include/core/SkCanvas.h
public.bzl
samplecode/SampleChart.cpp
samplecode/SampleClipDrawMatch.cpp
samplecode/SampleManyRects.cpp
samplecode/SamplePolyToPoly.cpp
samplecode/SampleShaders.cpp
src/core/SkCanvas.cpp
src/utils/SkCanvasStack.cpp
tests/FlattenDrawableTest.cpp
tests/PathTest.cpp
tests/PictureTest.cpp
tests/WritePixelsTest.cpp
tools/colorspaceinfo.cpp
tools/debugger/SkDrawCommand.cpp
tools/viewer/Viewer.cpp

index f756d4c..8e881a6 100644 (file)
@@ -226,7 +226,7 @@ protected:
     }
 
     void onDraw(int loops, SkCanvas* canvas) override {
-        SkISize dim = canvas->getDeviceSize();
+        SkISize dim = canvas->getBaseLayerSize();
         if (fFlags & kScale_Flag) {
             const SkScalar x = SkIntToScalar(dim.fWidth) / 2;
             const SkScalar y = SkIntToScalar(dim.fHeight) / 2;
index c5a3a5b..71e311c 100644 (file)
@@ -106,8 +106,8 @@ protected:
 
     void onDraw(int loops, SkCanvas* canvas) override {
         bool sizeChanged = false;
-        if (canvas->getDeviceSize() != fSize) {
-            fSize = canvas->getDeviceSize();
+        if (canvas->getBaseLayerSize() != fSize) {
+            fSize = canvas->getBaseLayerSize();
             sizeChanged = true;
         }
 
index 9b811f0..681b823 100644 (file)
@@ -104,7 +104,7 @@ protected:
         clearPaint.setColor(0xFF000000);
         clearPaint.setAntiAlias(true);
 
-        SkISize size = canvas->getDeviceSize();
+        SkISize size = canvas->getBaseLayerSize();
 
         SkScalar maxTransX, maxTransY;
 
index 2037495..7b8ce3f 100644 (file)
@@ -47,10 +47,10 @@ protected:
 
         SkPaint paint;
         paint.setFilterQuality(kMedium_SkFilterQuality);
-
+        paint.setColor(SK_ColorWHITE);
         for (int i = 0; i < loops; i++) {
             // Touch surface so mips are dirtied
-            fSurface->getCanvas()->drawPoint(0, 0, SK_ColorWHITE);
+            fSurface->getCanvas()->drawPoint(0, 0, paint);
 
             // Draw reduced version of surface to original canvas, to trigger mip generation
             canvas->save();
index b1061a1..ad9f747 100644 (file)
@@ -26,7 +26,7 @@ protected:
     void onDraw(int loops, SkCanvas* canvas) override {
         canvas->clear(SK_ColorBLACK);
 
-        SkISize size = canvas->getDeviceSize();
+        SkISize size = canvas->getBaseLayerSize();
 
         int offX = (size.width() - kWindowSize) / kNumStepsX;
         int offY = (size.height() - kWindowSize) / kNumStepsY;
index d9f8eb7..820bb59 100644 (file)
@@ -46,7 +46,7 @@ protected:
     }
 
     void onDraw(int loops, SkCanvas* canvas) override {
-        SkISize size = canvas->getDeviceSize();
+        SkISize size = canvas->getBaseLayerSize();
 
         canvas->clear(0xFFFF0000);
 
index 605d167..b12e458 100644 (file)
@@ -26,7 +26,7 @@ protected:
     void onDraw(int loops, SkCanvas* canvas) override {
         const char* text = "Hamburgefons";
         size_t len = strlen(text);
-        SkISize size = canvas->getDeviceSize();
+        SkISize size = canvas->getBaseLayerSize();
         SkRandom random;
         for (int i = 0; i < loops; ++i) {
             SkPaint paint;
index 8893744..614ff84 100644 (file)
@@ -39,15 +39,15 @@ protected:
 
         canvas->translate(0, y);
         canvas->rotate(1);
-        canvas->drawRectCoords(20, 20, 200, 200, p);
+        canvas->drawRect({ 20, 20, 200, 200 }, p);
         canvas->restore();
 
         y += 200;
 
         canvas->translate(0, y);
         canvas->rotate(1);
-        canvas->drawRectCoords(20, 20, 20.2f, 200, p);
-        canvas->drawRectCoords(20, 200, 200, 200.1f, p);
+        canvas->drawRect({ 20, 20, 20.2f, 200 }, p);
+        canvas->drawRect({ 20, 200, 200, 200.1f }, p);
         canvas->drawCircle(100, 100, 30, p);
         canvas->restore();
 
index dcb9cb7..81927c5 100644 (file)
@@ -219,9 +219,9 @@ protected:
                     // Just clear the dst, we need to preserve the paint's opacity.
                     dimPaint.setARGB(0, 0, 0, 0);
                 }
-                canvas->drawRectCoords(-kShapeSpacing/2, -kShapeSpacing/2,
-                                       kShapeSpacing/2 + 3 * kShapeTypeSpacing,
-                                       kShapeSpacing/2, dimPaint);
+                canvas->drawRect({ -kShapeSpacing/2, -kShapeSpacing/2,
+                                   kShapeSpacing/2 + 3 * kShapeTypeSpacing, kShapeSpacing/2 },
+                                 dimPaint);
             }
         }
     }
@@ -234,15 +234,15 @@ protected:
 
         switch (shape) {
             case kSquare_Shape:
-                canvas->drawRectCoords(-kShapeSize/2, -kShapeSize/2, kShapeSize/2, kShapeSize/2,
-                                       shapePaint);
+                canvas->drawRect({ -kShapeSize/2, -kShapeSize/2, kShapeSize/2, kShapeSize/2 },
+                                 shapePaint);
                 break;
 
             case kDiamond_Shape:
                 canvas->save();
                 canvas->rotate(45);
-                canvas->drawRectCoords(-kShapeSize/2, -kShapeSize/2, kShapeSize/2, kShapeSize/2,
-                                       shapePaint);
+                canvas->drawRect({ -kShapeSize/2, -kShapeSize/2, kShapeSize/2, kShapeSize/2 },
+                                 shapePaint);
                 canvas->restore();
                 break;
 
index 5950587..edd706d 100644 (file)
@@ -29,17 +29,16 @@ constexpr SkColorType gColorTypes[] = {
 static void draw_checks(SkCanvas* canvas, int width, int height) {
     SkPaint paint;
     paint.setColor(SK_ColorRED);
-    canvas->drawRectCoords(SkIntToScalar(0), SkIntToScalar(0),
-        SkIntToScalar(width / 2), SkIntToScalar(height / 2), paint);
+    canvas->drawRect(SkRect::MakeIWH(width/2, height/2), paint);
     paint.setColor(SK_ColorGREEN);
-    canvas->drawRectCoords(SkIntToScalar(width / 2), SkIntToScalar(0),
-        SkIntToScalar(width), SkIntToScalar(height / 2), paint);
+    canvas->drawRect({ SkIntToScalar(width/2), 0, SkIntToScalar(width), SkIntToScalar(height/2) },
+                     paint);
     paint.setColor(SK_ColorBLUE);
-    canvas->drawRectCoords(SkIntToScalar(0), SkIntToScalar(height / 2),
-        SkIntToScalar(width / 2), SkIntToScalar(height), paint);
+    canvas->drawRect({ 0, SkIntToScalar(height/2), SkIntToScalar(width/2), SkIntToScalar(height) },
+                     paint);
     paint.setColor(SK_ColorYELLOW);
-    canvas->drawRectCoords(SkIntToScalar(width / 2), SkIntToScalar(height / 2),
-        SkIntToScalar(width), SkIntToScalar(height), paint);
+    canvas->drawRect({ SkIntToScalar(width/2), SkIntToScalar(height/2), SkIntToScalar(width),
+                     SkIntToScalar(height) }, paint);
 }
 
 class BitmapCopyGM : public GM {
index 7a8540b..8bc9f2c 100644 (file)
@@ -50,9 +50,9 @@ protected:
     void onDraw(SkCanvas* canvas) override {
         SkPaint paint;
         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);
     }
 
 protected:
index 5a8844a..bd945dd 100644 (file)
@@ -143,7 +143,7 @@ protected:
 
         SkPaint bgPaint;
         bgPaint.setAlpha(0x15);
-        SkISize size = canvas->getDeviceSize();
+        SkISize size = canvas->getBaseLayerSize();
         canvas->drawBitmapRect(fBmp, SkRect::MakeIWH(size.fWidth, size.fHeight), &bgPaint);
 
         constexpr char kTxt[] = "Clip Me!";
index 676e01a..210da52 100644 (file)
@@ -40,14 +40,9 @@ protected:
         paint.setTextSize(SkIntToScalar(72));
         paint.setLooper(fLooper);
 
-        canvas->drawCircle(SkIntToScalar(50), SkIntToScalar(50),
-                           SkIntToScalar(30), paint);
-
-        canvas->drawRectCoords(SkIntToScalar(150), SkIntToScalar(50),
-                               SkIntToScalar(200), SkIntToScalar(100), paint);
-
-        canvas->drawText("Looper", 6, SkIntToScalar(230), SkIntToScalar(100),
-                         paint);
+        canvas->drawCircle(50, 50, 30, paint);
+        canvas->drawRect({ 150, 50, 200, 100 }, paint);
+        canvas->drawText("Looper", 6, 230, 100, paint);
     }
 
 private:
index 7628fbe..b89077a 100644 (file)
@@ -26,53 +26,53 @@ static void draw_gm(SkCanvas* canvas,
                     SkScalar strokeWidth,
                     SkPaint::Style strokeStyle) {
         // There's a black pixel at 40, 40 for reference.
-        canvas->drawPoint(40.0f, 40.0f, SK_ColorBLACK);
-
-        // Two reference images.
-        canvas->translate(50.0f, 50.0f);
-        drawTestCase(canvas, 1.0f, strokeWidth, strokeStyle);
-
-        canvas->translate(0.0f, 50.0f);
-        drawTestCase(canvas, 3.0f, strokeWidth, strokeStyle);
-
-        // Uniform scaling test.
-        canvas->translate(0.0f, 100.0f);
-        canvas->save();
-        canvas->scale(3.0f, 3.0f);
-        drawTestCase(canvas, 1.0f, strokeWidth, strokeStyle);
-        canvas->restore();
-
-        // Non-uniform scaling test.
-        canvas->translate(0.0f, 100.0f);
-        canvas->save();
-        canvas->scale(3.0f, 6.0f);
-        drawTestCase(canvas, 1.0f, strokeWidth, strokeStyle);
-        canvas->restore();
-
-        // Skew test.
-        canvas->translate(0.0f, 80.0f);
-        canvas->save();
-        canvas->scale(3.0f, 3.0f);
-        SkMatrix skew;
-        skew.setIdentity();
-        skew.setSkewX(8.0f / 25.0f);
-        skew.setSkewY(2.0f / 25.0f);
-        canvas->concat(skew);
-        drawTestCase(canvas, 1.0f, strokeWidth, strokeStyle);
-        canvas->restore();
-
-        // Perspective test.
-        canvas->translate(0.0f, 80.0f);
-        canvas->save();
-        SkMatrix perspective;
-        perspective.setIdentity();
-        perspective.setPerspX(-SkScalarInvert(340));
-        perspective.setSkewX(8.0f / 25.0f);
-        perspective.setSkewY(2.0f / 25.0f);
-
-        canvas->concat(perspective);
-        drawTestCase(canvas, 1.0f, strokeWidth, strokeStyle);
-        canvas->restore();
+    canvas->drawPoint(40, 40, SkPaint());
+
+    // Two reference images.
+    canvas->translate(50.0f, 50.0f);
+    drawTestCase(canvas, 1.0f, strokeWidth, strokeStyle);
+
+    canvas->translate(0.0f, 50.0f);
+    drawTestCase(canvas, 3.0f, strokeWidth, strokeStyle);
+
+    // Uniform scaling test.
+    canvas->translate(0.0f, 100.0f);
+    canvas->save();
+    canvas->scale(3.0f, 3.0f);
+    drawTestCase(canvas, 1.0f, strokeWidth, strokeStyle);
+    canvas->restore();
+
+    // Non-uniform scaling test.
+    canvas->translate(0.0f, 100.0f);
+    canvas->save();
+    canvas->scale(3.0f, 6.0f);
+    drawTestCase(canvas, 1.0f, strokeWidth, strokeStyle);
+    canvas->restore();
+
+    // Skew test.
+    canvas->translate(0.0f, 80.0f);
+    canvas->save();
+    canvas->scale(3.0f, 3.0f);
+    SkMatrix skew;
+    skew.setIdentity();
+    skew.setSkewX(8.0f / 25.0f);
+    skew.setSkewY(2.0f / 25.0f);
+    canvas->concat(skew);
+    drawTestCase(canvas, 1.0f, strokeWidth, strokeStyle);
+    canvas->restore();
+
+    // Perspective test.
+    canvas->translate(0.0f, 80.0f);
+    canvas->save();
+    SkMatrix perspective;
+    perspective.setIdentity();
+    perspective.setPerspX(-SkScalarInvert(340));
+    perspective.setSkewX(8.0f / 25.0f);
+    perspective.setSkewY(2.0f / 25.0f);
+
+    canvas->concat(perspective);
+    drawTestCase(canvas, 1.0f, strokeWidth, strokeStyle);
+    canvas->restore();
 }
 
 static void drawTestCase(SkCanvas* canvas,
index 9498d32..3d74f0e 100644 (file)
@@ -85,8 +85,11 @@ private:
 
         paint.setColor(SK_ColorBLACK);
         surface->getCanvas()->drawLine(start.x(), start.y(), end.x(), end.y(), paint);
-        surface->getCanvas()->drawPoint(start.x(), start.y(), color);
-        surface->getCanvas()->drawPoint(end.x(), end.y(), color);
+
+        paint.reset();
+        paint.setColor(color);
+        const SkPoint pts[] = { start, end };
+        surface->getCanvas()->drawPoints(SkCanvas::kPoints_PointMode, 2, pts, paint);
 
         return surface->makeImageSnapshot();
     }
index a16e219..6ca8cf1 100644 (file)
@@ -118,8 +118,7 @@ protected:
         // Draw background rect
         SkPaint backgroundPaint;
         backgroundPaint.setColor(backgroundColor);
-        canvas->drawRectCoords(0, 0, SkIntToScalar(kColWidth), SkIntToScalar(kHeight),
-                               backgroundPaint);
+        canvas->drawRect(SkRect::MakeIWH(kColWidth, kHeight), backgroundPaint);
         SkScalar y = fTextHeight;
         for (size_t m = 0; m < SK_ARRAY_COUNT(gModes); m++) {
             SkPaint paint;
index 18fb7b2..401127d 100644 (file)
@@ -109,7 +109,12 @@ private:
 class PointSnapGM : public PixelSnapGM {
 protected:
     SkString onShortName() override { return SkString("pixel_snap_point"); }
-    void drawElement(SkCanvas* canvas) override { canvas->drawPoint(1, 1, SK_ColorBLUE); }
+    void drawElement(SkCanvas* canvas) override {
+        const SkPoint pt = { 1, 1 };
+        SkPaint paint;
+        paint.setColor(SK_ColorBLUE);
+        canvas->drawPoints(SkCanvas::kPoints_PointMode, 1, &pt, paint);
+    }
 
 private:
     typedef PixelSnapGM INHERITED;
@@ -154,18 +159,24 @@ protected:
         // order lines (green), points (blue), rect(red).
         SkRect rect = SkRect::MakeXYWH(3, 3, 1, 1);
         paint.setColor(SK_ColorGREEN);
-        canvas->drawLine(3, 3, 0, 3, paint);
-        canvas->drawLine(3, 3, 3, 0, paint);
-        canvas->drawLine(4, 3, 7, 3, paint);
-        canvas->drawLine(4, 3, 4, 0, paint);
-        canvas->drawLine(3, 4, 0, 4, paint);
-        canvas->drawLine(3, 4, 3, 7, paint);
-        canvas->drawLine(4, 4, 7, 4, paint);
-        canvas->drawLine(4, 4, 4, 7, paint);
-        canvas->drawPoint(4, 3, SK_ColorBLUE);
-        canvas->drawPoint(4, 4, SK_ColorBLUE);
-        canvas->drawPoint(3, 3, SK_ColorBLUE);
-        canvas->drawPoint(3, 4, SK_ColorBLUE);
+        const SkPoint lines[] = {
+            { 3, 3 }, { 0, 3 },
+            { 3, 3 }, { 3, 0 },
+            { 4, 3 }, { 7, 3 },
+            { 4, 3 }, { 4, 0 },
+            { 3, 4 }, { 0, 4 },
+            { 3, 4 }, { 3, 7 },
+            { 4, 4 }, { 7, 4 },
+            { 4, 4 }, { 4, 7 },
+        };
+        canvas->drawPoints(SkCanvas::kLines_PointMode, SK_ARRAY_COUNT(lines), lines, paint);
+
+        const SkPoint pts[] = {
+            { 4, 3 }, { 4, 4, }, { 3, 3 }, { 3, 4 },
+        };
+        paint.setColor(SK_ColorBLUE);
+        canvas->drawPoints(SkCanvas::kPoints_PointMode, SK_ARRAY_COUNT(pts), pts, paint);
+
         paint.setColor(SK_ColorRED);
         canvas->drawRect(rect, paint);
     }
index 4eb9936..f6d3f84 100644 (file)
@@ -207,8 +207,8 @@ protected:
 
         paint->setColor(sk_tool_utils::color_to_565(SK_ColorGRAY));
         paint->setStyle(SkPaint::kStroke_Style);
-        const SkScalar D = SkIntToScalar(64);
-        canvas->drawRectCoords(0, 0, D, D, *paint);
+        const SkScalar D = 64;
+        canvas->drawRect(SkRect::MakeWH(D, D), *paint);
         canvas->drawLine(0, 0, D, D, *paint);
         canvas->drawLine(0, D, D, 0, *paint);
 
index 4acd774..342fd92 100644 (file)
@@ -22,11 +22,20 @@ static sk_sp<SkImage> make_image(GrContext* context, int size, GrSurfaceOrigin o
         SkCanvas* canvas = surf->getCanvas();
 
         canvas->clear(SK_ColorRED);
-        canvas->drawPoint(1.5f, 1.5f, SK_ColorGREEN);
-        canvas->drawPoint(2.5f, 1.5f, SK_ColorBLUE);
-        canvas->drawPoint(1.5f, 2.5f, SK_ColorCYAN);
-        canvas->drawPoint(2.5f, 2.5f, SK_ColorGRAY);
-
+        const struct {
+            SkPoint fPt;
+            SkColor fColor;
+        } rec[] = {
+            { { 1.5f, 1.5f }, SK_ColorGREEN },
+            { { 2.5f, 1.5f }, SK_ColorBLUE },
+            { { 1.5f, 2.5f }, SK_ColorCYAN },
+            { { 2.5f, 2.5f }, SK_ColorGRAY },
+        };
+        SkPaint paint;
+        for (const auto& r : rec) {
+            paint.setColor(r.fColor);
+            canvas->drawPoints(SkCanvas::kPoints_PointMode, 1, &r.fPt, paint);
+        }
         return surf->makeImageSnapshot();
     } else {
         SkBitmap bm;
index 5511b8b..78c54fd 100644 (file)
@@ -64,7 +64,7 @@ protected:
 
         paint.setShader(SkShader::MakeBitmapShader(fBitmap, SkShader::kRepeat_TileMode,
                                                    SkShader::kRepeat_TileMode, &mat));
-        canvas->drawRectCoords(8,8,1008, 608, paint);
+        canvas->drawRect({ 8, 8, 1008, 608 }, paint);
     }
 
 private:
index b693d28..b79bb87 100644 (file)
@@ -16,4 +16,5 @@ android_framework_defines = [
   "SK_SUPPORT_LEGACY_SHADER_ISABITMAP",
   "SK_SUPPORT_LEGACY_EMBOSSMASKFILTER",
   "SK_SUPPORT_EXOTIC_CLIPOPS",
+  "SK_SUPPORT_LEGACY_CANVAS_HELPERS",
 ]
index a7508f9..403120c 100644 (file)
@@ -150,10 +150,12 @@ public:
      */
     virtual SkISize getBaseLayerSize() const;
 
+#ifdef SK_SUPPORT_LEGACY_CANVAS_HELPERS
     /**
      *  DEPRECATED: call getBaseLayerSize
      */
     SkISize getDeviceSize() const { return this->getBaseLayerSize(); }
+#endif
 
     /**
      *  Create a new surface matching the specified info, one that attempts to
@@ -553,6 +555,7 @@ public:
         return !bounds->isEmpty();
     }
 
+#ifdef SK_SUPPORT_LEGACY_CANVAS_HELPERS
     /** Fill the entire canvas' bitmap (restricted to the current clip) with the
         specified ARGB color, using the specified mode.
         @param a    the alpha component (0..255) of the color to fill the canvas
@@ -562,6 +565,7 @@ public:
         @param mode the mode to apply the color in (defaults to SrcOver)
     */
     void drawARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b, SkBlendMode mode = SkBlendMode::kSrcOver);
+#endif
 
     /** Fill the entire canvas' bitmap (restricted to the current clip) with the
         specified color and mode.
@@ -631,17 +635,18 @@ public:
     */
     void drawPoints(PointMode mode, size_t count, const SkPoint pts[], const SkPaint& paint);
 
-    /** Helper method for drawing a single point. See drawPoints() for a more
-        details.
-    */
+    /** Helper method for drawing a single point. See drawPoints() for more details.
+     */
     void drawPoint(SkScalar x, SkScalar y, const SkPaint& paint);
 
+#ifdef SK_SUPPORT_LEGACY_CANVAS_HELPERS
     /** Draws a single pixel in the specified color.
         @param x        The X coordinate of which pixel to draw
         @param y        The Y coordiante of which pixel to draw
         @param color    The color to draw
     */
     void drawPoint(SkScalar x, SkScalar y, SkColor color);
+#endif
 
     /** Draw a line segment with the specified start and stop x,y coordinates,
         using the specified paint. NOTE: since a line is always "framed", the
@@ -652,8 +657,7 @@ public:
         @param y1    The y-coordinate of the end point of the line
         @param paint The paint used to draw the line
     */
-    void drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1,
-                  const SkPaint& paint);
+    void drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1, const SkPaint& paint);
 
     /** Draw the specified rectangle using the specified paint. The rectangle
         will be filled or stroked based on the Style in the paint.
@@ -673,6 +677,7 @@ public:
         this->drawRect(r, paint);
     }
 
+#ifdef SK_SUPPORT_LEGACY_CANVAS_HELPERS
     /** Draw the specified rectangle using the specified paint. The rectangle
         will be filled or framed based on the Style in the paint.
         @param left     The left side of the rectangle to be drawn
@@ -683,6 +688,7 @@ public:
     */
     void drawRectCoords(SkScalar left, SkScalar top, SkScalar right,
                         SkScalar bottom, const SkPaint& paint);
+#endif
 
     /** Draw the outline of the specified region using the specified paint.
         @param region   The region to be drawn
@@ -720,8 +726,7 @@ public:
         @param radius   The radius of the cirle to be drawn
         @param paint    The paint used to draw the circle
     */
-    void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius,
-                    const SkPaint& paint);
+    void drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint& paint);
 
     /** Draw the specified arc, which will be scaled to fit inside the
         specified oval. Sweep angles are not treated as modulo 360 and thus can
@@ -747,8 +752,7 @@ public:
         @param ry       The y-radius of the oval used to round the corners
         @param paint    The paint used to draw the roundRect
     */
-    void drawRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry,
-                       const SkPaint& paint);
+    void drawRoundRect(const SkRect& rect, SkScalar rx, SkScalar ry, const SkPaint& paint);
 
     /** Draw the specified path using the specified paint. The path will be
         filled or framed based on the Style in the paint.
index f4b9ef9..02ce1df 100644 (file)
@@ -599,6 +599,7 @@ DEFINES_ALL = [
     "SK_NO_ANALYTIC_AA",
     "SK_SUPPORT_LEGACY_BITMAP_SETPIXELREF",
     "SK_SUPPORT_LEGACY_CLIPOP_EXOTIC_NAMES",
+    "SK_SUPPORT_LEGACY_CANVAS_HELPERS",
 ]
 
 ################################################################################
index 0c8949c..46ce7d3 100644 (file)
@@ -99,8 +99,8 @@ protected:
 
     void onDrawContent(SkCanvas* canvas) override {
         bool sizeChanged = false;
-        if (canvas->getDeviceSize() != fSize) {
-            fSize = canvas->getDeviceSize();
+        if (canvas->getBaseLayerSize() != fSize) {
+            fSize = canvas->getBaseLayerSize();
             sizeChanged = true;
         }
 
index ea30cc6..b2158a6 100644 (file)
@@ -204,7 +204,7 @@ protected:
             } break;
         }
 
-        SkISize size = canvas->getDeviceSize();
+        SkISize size = canvas->getBaseLayerSize();
         SkRect bigR = SkRect::MakeWH(SkIntToScalar(size.width()), SkIntToScalar(size.height()));
 
         SkPaint p;
index 66274a4..cb19595 100644 (file)
@@ -33,7 +33,7 @@ protected:
     }
 
     void onDrawContent(SkCanvas* canvas) override {
-        SkISize dsize = canvas->getDeviceSize();
+        SkISize dsize = canvas->getBaseLayerSize();
         canvas->clear(0xFFF0E0F0);
 
         for (int i = 0; i < N; ++i) {
index 6cb818a..8594c2b 100644 (file)
@@ -98,7 +98,7 @@ protected:
         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);
 
index f9926eb..7ca74cc 100644 (file)
@@ -76,15 +76,15 @@ protected:
     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);
 
index d2bfb59..93cf64a 100644 (file)
@@ -2959,6 +2959,7 @@ void SkCanvas::onDrawAnnotation(const SkRect& rect, const char key[], SkData* va
 // methods, rather than actually drawing themselves.
 //////////////////////////////////////////////////////////////////////////////
 
+#ifdef SK_SUPPORT_LEGACY_CANVAS_HELPERS
 void SkCanvas::drawARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b, SkBlendMode mode) {
     TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawARGB()");
     SkPaint paint;
@@ -2967,6 +2968,7 @@ void SkCanvas::drawARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b, SkBlendMode mode) {
     paint.setBlendMode(mode);
     this->drawPaint(paint);
 }
+#endif
 
 void SkCanvas::drawColor(SkColor c, SkBlendMode mode) {
     TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawColor()");
@@ -2979,12 +2981,11 @@ void SkCanvas::drawColor(SkColor c, SkBlendMode mode) {
 
 void SkCanvas::drawPoint(SkScalar x, SkScalar y, const SkPaint& paint) {
     TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawPoint(SkPaint)");
-    SkPoint pt;
-
-    pt.set(x, y);
+    const SkPoint pt = { x, y };
     this->drawPoints(kPoints_PointMode, 1, &pt, paint);
 }
 
+#ifdef SK_SUPPORT_LEGACY_CANVAS_HELPERS
 void SkCanvas::drawPoint(SkScalar x, SkScalar y, SkColor color) {
     TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawPoint(SkColor)");
     SkPoint pt;
@@ -2994,9 +2995,9 @@ void SkCanvas::drawPoint(SkScalar x, SkScalar y, SkColor color) {
     paint.setColor(color);
     this->drawPoints(kPoints_PointMode, 1, &pt, paint);
 }
+#endif
 
-void SkCanvas::drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1,
-                        const SkPaint& paint) {
+void SkCanvas::drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1, const SkPaint& paint) {
     TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawLine()");
     SkPoint pts[2];
 
@@ -3005,6 +3006,7 @@ void SkCanvas::drawLine(SkScalar x0, SkScalar y0, SkScalar x1, SkScalar y1,
     this->drawPoints(kLines_PointMode, 2, pts, paint);
 }
 
+#ifdef SK_SUPPORT_LEGACY_CANVAS_HELPERS
 void SkCanvas::drawRectCoords(SkScalar left, SkScalar top,
                               SkScalar right, SkScalar bottom,
                               const SkPaint& paint) {
@@ -3014,9 +3016,9 @@ void SkCanvas::drawRectCoords(SkScalar left, SkScalar top,
     r.set(left, top, right, bottom);
     this->drawRect(r, paint);
 }
+#endif
 
-void SkCanvas::drawCircle(SkScalar cx, SkScalar cy, SkScalar radius,
-                          const SkPaint& paint) {
+void SkCanvas::drawCircle(SkScalar cx, SkScalar cy, SkScalar radius, const SkPaint& paint) {
     TRACE_EVENT0("disabled-by-default-skia", "SkCanvas::drawCircle()");
     if (radius < 0) {
         radius = 0;
index 48cc258..38cd210 100644 (file)
@@ -16,7 +16,7 @@ SkCanvasStack::~SkCanvasStack() {
 void SkCanvasStack::pushCanvas(std::unique_ptr<SkCanvas> canvas, const SkIPoint& origin) {
     if (canvas) {
         // compute the bounds of this canvas
-        const SkIRect canvasBounds = SkIRect::MakeSize(canvas->getDeviceSize());
+        const SkIRect canvasBounds = SkIRect::MakeSize(canvas->getBaseLayerSize());
 
         // push the canvas onto the stack
         this->INHERITED::addCanvas(canvas.get());
index b4a551f..d8f5142 100644 (file)
@@ -250,8 +250,9 @@ DEF_TEST(FlattenRecordedDrawable, r) {
     // Record a set of canvas draw commands
     SkPictureRecorder recorder;
     SkCanvas* canvas = recorder.beginRecording(1000.0f, 1000.0f);
-    canvas->drawPoint(42.0f, 17.0f, SK_ColorGREEN);
     SkPaint paint;
+    paint.setColor(SK_ColorGREEN);
+    canvas->drawPoint(42.0f, 17.0f, paint);
     paint.setColor(SK_ColorRED);
     canvas->drawPaint(paint);
     SkPaint textPaint;
index d45f02e..0949a5d 100644 (file)
@@ -195,7 +195,7 @@ static void test_fuzz_crbug_662780() {
             SkBits2Float(0x41000000), SkBits2Float(0x431e0000), SkBits2Float(0x3f3504f3));
     path.close();
     canvas->clipPath(path, true);
-    canvas->drawRectCoords(0, 0, 250, 250, paint);
+    canvas->drawRect(SkRect::MakeWH(250, 250), paint);
 }
 
 static void test_mask_overflow() {
@@ -4418,7 +4418,7 @@ static void test_fuzz_crbug_662952(skiatest::Reporter* reporter) {
     SkPaint paint;
     paint.setAntiAlias(true);
     surface->getCanvas()->clipPath(path, true);
-    surface->getCanvas()->drawRectCoords(0, 0, 100, 100, paint);
+    surface->getCanvas()->drawRect(SkRect::MakeWH(100, 100), paint);
 }
 
 static void test_path_crbugskia6003() {
@@ -4441,7 +4441,7 @@ static void test_path_crbugskia6003() {
     path.lineTo(SkBits2Float(0x4325e666), SkBits2Float(0x42a1999a));  // 165.9f, 80.8f
     path.close();
     canvas->clipPath(path, true);
-    canvas->drawRectCoords(0, 0, 500, 500, paint);
+    canvas->drawRect(SkRect::MakeWH(500, 500), paint);
 }
 
 static void test_fuzz_crbug_662730(skiatest::Reporter* reporter) {
index 7179e70..636b62c 100644 (file)
@@ -836,7 +836,7 @@ static void test_gen_id(skiatest::Reporter* reporter) {
     REPORTER_ASSERT(reporter, empty->uniqueID() != SK_InvalidGenID);
 
     SkCanvas* canvas = recorder.beginRecording(1, 1);
-    canvas->drawARGB(255, 255, 255, 255);
+    canvas->drawColor(SK_ColorWHITE);
     sk_sp<SkPicture> hasData(recorder.finishRecordingAsPicture());
     // picture should have a non-zero id after recording
     REPORTER_ASSERT(reporter, hasData->uniqueID() != SK_InvalidGenID);
@@ -942,7 +942,7 @@ DEF_TEST(DontOptimizeSaveLayerDrawDrawRestore, reporter) {
 
     SkPictureRecorder recorder;
     SkCanvas* canvas = recorder.beginRecording(100, 100);
-    canvas->drawARGB(0, 0, 0, 0);
+    canvas->drawColor(0);
 
     canvas->saveLayer(0, &semiTransparent);
     canvas->drawBitmap(blueBM, 25, 25);
index 1c5ce81..c38e4d6 100644 (file)
@@ -382,7 +382,7 @@ static void test_write_pixels(skiatest::Reporter* reporter, SkSurface* surface)
                                                       rect.fLeft, rect.fTop));
 
                 // we should change the genID iff pixels were actually written.
-                SkIRect canvasRect = SkIRect::MakeSize(canvas.getDeviceSize());
+                SkIRect canvasRect = SkIRect::MakeSize(canvas.getBaseLayerSize());
                 SkIRect writeRect = SkIRect::MakeXYWH(rect.fLeft, rect.fTop,
                                                       bmp.width(), bmp.height());
                 bool intersects = SkIRect::Intersects(canvasRect, writeRect) ;
index 73d6d2b..30880b9 100644 (file)
@@ -180,7 +180,7 @@ static void draw_transfer_fn(SkCanvas* canvas, SkGammaNamed gammaNamed, const Sk
     }
     paint.setColor(0xFF000000);
     paint.setStrokeWidth(3.0f);
-    canvas->drawRectCoords(ox, oy - gammaHeight, ox + gammaWidth, oy, paint);
+    canvas->drawRect({ ox, oy - gammaHeight, ox + gammaWidth, oy }, paint);
 }
 
 /**
index 3bb1b90..09b8ab4 100644 (file)
@@ -313,7 +313,7 @@ SkDrawCommand* SkDrawCommand::fromJSON(Json::Value& command, UrlDataManager& url
 namespace {
 
 void xlate_and_scale_to_bounds(SkCanvas* canvas, const SkRect& bounds) {
-    const SkISize& size = canvas->getDeviceSize();
+    const SkISize& size = canvas->getBaseLayerSize();
 
     static const SkScalar kInsetFrac = 0.9f; // Leave a border around object
 
@@ -348,7 +348,7 @@ void render_path(SkCanvas* canvas, const SkPath& path) {
 }
 
 void render_bitmap(SkCanvas* canvas, const SkBitmap& input, const SkRect* srcRect = nullptr) {
-    const SkISize& size = canvas->getDeviceSize();
+    const SkISize& size = canvas->getBaseLayerSize();
 
     SkScalar xScale = SkIntToScalar(size.fWidth-2) / input.width();
     SkScalar yScale = SkIntToScalar(size.fHeight-2) / input.height();
index fe3b0d9..57185d2 100644 (file)
@@ -709,7 +709,7 @@ void Viewer::drawStats(SkCanvas* canvas) {
     static const int kGraphPadding = 3;
     static const SkScalar kBaseMS = 1000.f / 60.f;  // ms/frame to hit 60 fps
 
-    SkISize canvasSize = canvas->getDeviceSize();
+    SkISize canvasSize = canvas->getBaseLayerSize();
     SkRect rect = SkRect::MakeXYWH(SkIntToScalar(canvasSize.fWidth-kDisplayWidth-kDisplayPadding),
                                    SkIntToScalar(kDisplayPadding),
                                    SkIntToScalar(kDisplayWidth), SkIntToScalar(kDisplayHeight));