diff options
author | Mike Reed <reed@google.com> | 2017-02-22 13:21:42 -0500 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2017-02-22 19:41:04 +0000 |
commit | 3661bc997620899695041010a750d11dbe8a972d (patch) | |
tree | a3607cc09eaefdc85b6f3d511b8f9632b680dd95 | |
parent | 2b767361de00fd85cb32dce62c4a95d30b7eaabf (diff) |
hide trivial helpers on canvas
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, 171 insertions, 146 deletions
diff --git a/bench/BitmapBench.cpp b/bench/BitmapBench.cpp index f756d4ca77..8e881a665b 100644 --- a/bench/BitmapBench.cpp +++ b/bench/BitmapBench.cpp @@ -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; diff --git a/bench/ChartBench.cpp b/bench/ChartBench.cpp index c5a3a5b3ad..71e311c2b3 100644 --- a/bench/ChartBench.cpp +++ b/bench/ChartBench.cpp @@ -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; } diff --git a/bench/GameBench.cpp b/bench/GameBench.cpp index 9b811f0e23..681b823f09 100644 --- a/bench/GameBench.cpp +++ b/bench/GameBench.cpp @@ -104,7 +104,7 @@ protected: clearPaint.setColor(0xFF000000); clearPaint.setAntiAlias(true); - SkISize size = canvas->getDeviceSize(); + SkISize size = canvas->getBaseLayerSize(); SkScalar maxTransX, maxTransY; diff --git a/bench/GrMipMapBench.cpp b/bench/GrMipMapBench.cpp index 2037495bc0..7b8ce3f3c9 100644 --- a/bench/GrMipMapBench.cpp +++ b/bench/GrMipMapBench.cpp @@ -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(); diff --git a/bench/ReadPixBench.cpp b/bench/ReadPixBench.cpp index b1061a1cde..ad9f747e7d 100644 --- a/bench/ReadPixBench.cpp +++ b/bench/ReadPixBench.cpp @@ -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; diff --git a/bench/WritePixelsBench.cpp b/bench/WritePixelsBench.cpp index d9f8eb75c4..820bb5902b 100644 --- a/bench/WritePixelsBench.cpp +++ b/bench/WritePixelsBench.cpp @@ -46,7 +46,7 @@ protected: } void onDraw(int loops, SkCanvas* canvas) override { - SkISize size = canvas->getDeviceSize(); + SkISize size = canvas->getBaseLayerSize(); canvas->clear(0xFFFF0000); diff --git a/bench/XfermodeBench.cpp b/bench/XfermodeBench.cpp index 605d167296..b12e458d41 100644 --- a/bench/XfermodeBench.cpp +++ b/bench/XfermodeBench.cpp @@ -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; diff --git a/gm/aaa.cpp b/gm/aaa.cpp index 889374463a..614ff84258 100644 --- a/gm/aaa.cpp +++ b/gm/aaa.cpp @@ -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(); diff --git a/gm/aaxfermodes.cpp b/gm/aaxfermodes.cpp index dcb9cb7e1b..81927c55c1 100644 --- a/gm/aaxfermodes.cpp +++ b/gm/aaxfermodes.cpp @@ -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; diff --git a/gm/bitmapcopy.cpp b/gm/bitmapcopy.cpp index 59505877ef..edd706d45f 100644 --- a/gm/bitmapcopy.cpp +++ b/gm/bitmapcopy.cpp @@ -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 { diff --git a/gm/composeshader.cpp b/gm/composeshader.cpp index 7a8540bc33..8bc9f2cbe7 100644 --- a/gm/composeshader.cpp +++ b/gm/composeshader.cpp @@ -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: diff --git a/gm/convexpolyclip.cpp b/gm/convexpolyclip.cpp index 5a8844abe2..bd945dd3de 100644 --- a/gm/convexpolyclip.cpp +++ b/gm/convexpolyclip.cpp @@ -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!"; diff --git a/gm/drawlooper.cpp b/gm/drawlooper.cpp index 676e01aef6..210da52f3a 100644 --- a/gm/drawlooper.cpp +++ b/gm/drawlooper.cpp @@ -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: diff --git a/gm/glyph_pos.cpp b/gm/glyph_pos.cpp index 7628fbe298..b89077aad3 100644 --- a/gm/glyph_pos.cpp +++ b/gm/glyph_pos.cpp @@ -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, diff --git a/gm/imagescalealigned.cpp b/gm/imagescalealigned.cpp index 9498d32071..3d74f0edf8 100644 --- a/gm/imagescalealigned.cpp +++ b/gm/imagescalealigned.cpp @@ -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(); } diff --git a/gm/lcdblendmodes.cpp b/gm/lcdblendmodes.cpp index a16e219c6b..6ca8cf1030 100644 --- a/gm/lcdblendmodes.cpp +++ b/gm/lcdblendmodes.cpp @@ -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; diff --git a/gm/pixelsnap.cpp b/gm/pixelsnap.cpp index 18fb7b2b75..401127d462 100644 --- a/gm/pixelsnap.cpp +++ b/gm/pixelsnap.cpp @@ -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); } diff --git a/gm/poly2poly.cpp b/gm/poly2poly.cpp index 4eb99361c8..f6d3f84b67 100644 --- a/gm/poly2poly.cpp +++ b/gm/poly2poly.cpp @@ -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); diff --git a/gm/simple_magnification.cpp b/gm/simple_magnification.cpp index 4acd7742d6..342fd92068 100644 --- a/gm/simple_magnification.cpp +++ b/gm/simple_magnification.cpp @@ -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; diff --git a/gm/tiledscaledbitmap.cpp b/gm/tiledscaledbitmap.cpp index 5511b8b3d9..78c54fdf43 100644 --- a/gm/tiledscaledbitmap.cpp +++ b/gm/tiledscaledbitmap.cpp @@ -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: diff --git a/gn/android_framework_defines.gni b/gn/android_framework_defines.gni index b693d2808d..b79bb87967 100644 --- a/gn/android_framework_defines.gni +++ b/gn/android_framework_defines.gni @@ -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", ] diff --git a/include/core/SkCanvas.h b/include/core/SkCanvas.h index a7508f9fbb..403120c80a 100644 --- a/include/core/SkCanvas.h +++ b/include/core/SkCanvas.h @@ -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. diff --git a/public.bzl b/public.bzl index f4b9ef9b00..02ce1df480 100644 --- a/public.bzl +++ b/public.bzl @@ -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", ] ################################################################################ diff --git a/samplecode/SampleChart.cpp b/samplecode/SampleChart.cpp index 0c8949c8ef..46ce7d3904 100644 --- a/samplecode/SampleChart.cpp +++ b/samplecode/SampleChart.cpp @@ -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; } diff --git a/samplecode/SampleClipDrawMatch.cpp b/samplecode/SampleClipDrawMatch.cpp index ea30cc6094..b2158a6c86 100644 --- a/samplecode/SampleClipDrawMatch.cpp +++ b/samplecode/SampleClipDrawMatch.cpp @@ -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; diff --git a/samplecode/SampleManyRects.cpp b/samplecode/SampleManyRects.cpp index 66274a483a..cb19595fe4 100644 --- a/samplecode/SampleManyRects.cpp +++ b/samplecode/SampleManyRects.cpp @@ -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) { diff --git a/samplecode/SamplePolyToPoly.cpp b/samplecode/SamplePolyToPoly.cpp index 6cb818a165..8594c2b88f 100644 --- a/samplecode/SamplePolyToPoly.cpp +++ b/samplecode/SamplePolyToPoly.cpp @@ -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); diff --git a/samplecode/SampleShaders.cpp b/samplecode/SampleShaders.cpp index f9926ebf3f..7ca74ccdb2 100644 --- a/samplecode/SampleShaders.cpp +++ b/samplecode/SampleShaders.cpp @@ -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); diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp index d2bfb59f84..93cf64abd8 100644 --- a/src/core/SkCanvas.cpp +++ b/src/core/SkCanvas.cpp @@ -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; diff --git a/src/utils/SkCanvasStack.cpp b/src/utils/SkCanvasStack.cpp index 48cc2588a7..38cd21013e 100644 --- a/src/utils/SkCanvasStack.cpp +++ b/src/utils/SkCanvasStack.cpp @@ -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()); diff --git a/tests/FlattenDrawableTest.cpp b/tests/FlattenDrawableTest.cpp index b4a551f259..d8f5142867 100644 --- a/tests/FlattenDrawableTest.cpp +++ b/tests/FlattenDrawableTest.cpp @@ -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; diff --git a/tests/PathTest.cpp b/tests/PathTest.cpp index d45f02eaf5..0949a5d8a8 100644 --- a/tests/PathTest.cpp +++ b/tests/PathTest.cpp @@ -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) { diff --git a/tests/PictureTest.cpp b/tests/PictureTest.cpp index 7179e70101..636b62c14a 100644 --- a/tests/PictureTest.cpp +++ b/tests/PictureTest.cpp @@ -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); diff --git a/tests/WritePixelsTest.cpp b/tests/WritePixelsTest.cpp index 1c5ce81cbf..c38e4d665d 100644 --- a/tests/WritePixelsTest.cpp +++ b/tests/WritePixelsTest.cpp @@ -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) ; diff --git a/tools/colorspaceinfo.cpp b/tools/colorspaceinfo.cpp index 73d6d2b5b1..30880b9b25 100644 --- a/tools/colorspaceinfo.cpp +++ b/tools/colorspaceinfo.cpp @@ -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); } /** diff --git a/tools/debugger/SkDrawCommand.cpp b/tools/debugger/SkDrawCommand.cpp index 3bb1b90867..09b8ab49ad 100644 --- a/tools/debugger/SkDrawCommand.cpp +++ b/tools/debugger/SkDrawCommand.cpp @@ -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(); diff --git a/tools/viewer/Viewer.cpp b/tools/viewer/Viewer.cpp index fe3b0d9888..57185d2c3b 100644 --- a/tools/viewer/Viewer.cpp +++ b/tools/viewer/Viewer.cpp @@ -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)); |