aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorGravatar Mike Reed <reed@google.com>2017-02-22 13:21:42 -0500
committerGravatar Skia Commit-Bot <skia-commit-bot@chromium.org>2017-02-22 19:41:04 +0000
commit3661bc997620899695041010a750d11dbe8a972d (patch)
treea3607cc09eaefdc85b6f3d511b8f9632b680dd95
parent2b767361de00fd85cb32dce62c4a95d30b7eaabf (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>
-rw-r--r--bench/BitmapBench.cpp2
-rw-r--r--bench/ChartBench.cpp4
-rw-r--r--bench/GameBench.cpp2
-rw-r--r--bench/GrMipMapBench.cpp4
-rw-r--r--bench/ReadPixBench.cpp2
-rw-r--r--bench/WritePixelsBench.cpp2
-rw-r--r--bench/XfermodeBench.cpp2
-rw-r--r--gm/aaa.cpp6
-rw-r--r--gm/aaxfermodes.cpp14
-rw-r--r--gm/bitmapcopy.cpp15
-rw-r--r--gm/composeshader.cpp4
-rw-r--r--gm/convexpolyclip.cpp2
-rw-r--r--gm/drawlooper.cpp11
-rw-r--r--gm/glyph_pos.cpp94
-rw-r--r--gm/imagescalealigned.cpp7
-rw-r--r--gm/lcdblendmodes.cpp3
-rw-r--r--gm/pixelsnap.cpp37
-rw-r--r--gm/poly2poly.cpp4
-rw-r--r--gm/simple_magnification.cpp19
-rw-r--r--gm/tiledscaledbitmap.cpp2
-rw-r--r--gn/android_framework_defines.gni1
-rw-r--r--include/core/SkCanvas.h22
-rw-r--r--public.bzl1
-rw-r--r--samplecode/SampleChart.cpp4
-rw-r--r--samplecode/SampleClipDrawMatch.cpp2
-rw-r--r--samplecode/SampleManyRects.cpp2
-rw-r--r--samplecode/SamplePolyToPoly.cpp2
-rw-r--r--samplecode/SampleShaders.cpp6
-rw-r--r--src/core/SkCanvas.cpp16
-rw-r--r--src/utils/SkCanvasStack.cpp2
-rw-r--r--tests/FlattenDrawableTest.cpp3
-rw-r--r--tests/PathTest.cpp6
-rw-r--r--tests/PictureTest.cpp4
-rw-r--r--tests/WritePixelsTest.cpp2
-rw-r--r--tools/colorspaceinfo.cpp2
-rw-r--r--tools/debugger/SkDrawCommand.cpp4
-rw-r--r--tools/viewer/Viewer.cpp2
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));