Commit b3a5da19 authored by Mike Reed's avatar Mike Reed Committed by Chromium LUCI CQ

Use new canvas virtuals for m44

Having to land this to get tests to pass:
https://skia-review.googlesource.com/c/skia/+/338936

Bug: skia:11004
Change-Id: I328c59d91b430744cbf2046f00964f26ec660009
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2561707Reviewed-by: default avatarFlorin Malita <fmalita@chromium.org>
Reviewed-by: default avatarvmpstr <vmpstr@chromium.org>
Reviewed-by: default avatarAaron Krajeski <aaronhk@chromium.org>
Commit-Queue: Mike Reed <reed@google.com>
Cr-Commit-Position: refs/heads/master@{#831938}
parent 13cf9f09
...@@ -2979,7 +2979,7 @@ TEST(PaintOpBufferTest, RasterPaintWorkletImageRectTranslated) { ...@@ -2979,7 +2979,7 @@ TEST(PaintOpBufferTest, RasterPaintWorkletImageRectTranslated) {
EXPECT_CALL(canvas, willSave()).InSequence(s); EXPECT_CALL(canvas, willSave()).InSequence(s);
EXPECT_CALL(canvas, OnSaveLayer()).InSequence(s); EXPECT_CALL(canvas, OnSaveLayer()).InSequence(s);
EXPECT_CALL(canvas, OnSaveLayer()).InSequence(s); EXPECT_CALL(canvas, OnSaveLayer()).InSequence(s);
EXPECT_CALL(canvas, didConcat(SkMatrix::Translate(5.0f, 7.0f))); EXPECT_CALL(canvas, didConcat44(SkM44::Translate(5.0f, 7.0f)));
EXPECT_CALL(canvas, willSave()).InSequence(s); EXPECT_CALL(canvas, willSave()).InSequence(s);
EXPECT_CALL(canvas, didScale(1.0f / scale_adjustment[0].width(), EXPECT_CALL(canvas, didScale(1.0f / scale_adjustment[0].width(),
1.0f / scale_adjustment[0].height())); 1.0f / scale_adjustment[0].height()));
...@@ -3024,7 +3024,7 @@ TEST(PaintOpBufferTest, RasterPaintWorkletImageRectScaled) { ...@@ -3024,7 +3024,7 @@ TEST(PaintOpBufferTest, RasterPaintWorkletImageRectScaled) {
EXPECT_CALL(canvas, willSave()).InSequence(s); EXPECT_CALL(canvas, willSave()).InSequence(s);
EXPECT_CALL(canvas, OnSaveLayer()).InSequence(s); EXPECT_CALL(canvas, OnSaveLayer()).InSequence(s);
EXPECT_CALL(canvas, OnSaveLayer()).InSequence(s); EXPECT_CALL(canvas, OnSaveLayer()).InSequence(s);
EXPECT_CALL(canvas, didConcat(SkMatrix::Scale(2.f, 1.5f))); EXPECT_CALL(canvas, didConcat44(SkM44::Scale(2.f, 1.5f)));
EXPECT_CALL(canvas, willSave()).InSequence(s); EXPECT_CALL(canvas, willSave()).InSequence(s);
EXPECT_CALL(canvas, didScale(1.0f / scale_adjustment[0].width(), EXPECT_CALL(canvas, didScale(1.0f / scale_adjustment[0].width(),
1.0f / scale_adjustment[0].height())); 1.0f / scale_adjustment[0].height()));
......
...@@ -65,7 +65,6 @@ class MockCanvas : public SkNoDrawCanvas { ...@@ -65,7 +65,6 @@ class MockCanvas : public SkNoDrawCanvas {
MOCK_METHOD5(onDrawArc, MOCK_METHOD5(onDrawArc,
void(const SkRect&, SkScalar, SkScalar, bool, const SkPaint&)); void(const SkRect&, SkScalar, SkScalar, bool, const SkPaint&));
MOCK_METHOD1(didConcat44, void(const SkM44&)); MOCK_METHOD1(didConcat44, void(const SkM44&));
MOCK_METHOD1(didConcat, void(const SkMatrix&));
MOCK_METHOD2(didScale, void(SkScalar, SkScalar)); MOCK_METHOD2(didScale, void(SkScalar, SkScalar));
MOCK_METHOD2(didTranslate, void(SkScalar, SkScalar)); MOCK_METHOD2(didTranslate, void(SkScalar, SkScalar));
MOCK_METHOD2(onDrawOval, void(const SkRect&, const SkPaint&)); MOCK_METHOD2(onDrawOval, void(const SkRect&, const SkPaint&));
......
...@@ -204,10 +204,6 @@ SK_API void SkDebugf_FileLine(const char* file, ...@@ -204,10 +204,6 @@ SK_API void SkDebugf_FileLine(const char* file,
# define SK_SUPPORT_LEGACY_ANISOTROPIC_MIPMAP_SCALE # define SK_SUPPORT_LEGACY_ANISOTROPIC_MIPMAP_SCALE
#endif #endif
#ifndef SK_SUPPORT_LEGACY_CANVASMATRIX33
#define SK_SUPPORT_LEGACY_CANVASMATRIX33
#endif
#ifndef SK_DISABLE_LEGACY_CONTEXT_FACTORIES #ifndef SK_DISABLE_LEGACY_CONTEXT_FACTORIES
#define SK_DISABLE_LEGACY_CONTEXT_FACTORIES #define SK_DISABLE_LEGACY_CONTEXT_FACTORIES
#endif #endif
......
...@@ -425,17 +425,10 @@ void BenchmarkingCanvas::willRestore() { ...@@ -425,17 +425,10 @@ void BenchmarkingCanvas::willRestore() {
void BenchmarkingCanvas::didConcat44(const SkM44& m) { void BenchmarkingCanvas::didConcat44(const SkM44& m) {
SkScalar values[16]; SkScalar values[16];
m.getColMajor(values); m.getColMajor(values);
AutoOp op(this, "Concat44");
op.addParam("column-major", AsListValue(values, 16));
INHERITED::didConcat44(m);
}
void BenchmarkingCanvas::didConcat(const SkMatrix& m) {
AutoOp op(this, "Concat"); AutoOp op(this, "Concat");
op.addParam("matrix", AsValue(m)); op.addParam("matrix", AsListValue(values, 16));
INHERITED::didConcat(m); INHERITED::didConcat44(m);
} }
void BenchmarkingCanvas::didScale(SkScalar x, SkScalar y) { void BenchmarkingCanvas::didScale(SkScalar x, SkScalar y) {
...@@ -454,11 +447,13 @@ void BenchmarkingCanvas::didTranslate(SkScalar x, SkScalar y) { ...@@ -454,11 +447,13 @@ void BenchmarkingCanvas::didTranslate(SkScalar x, SkScalar y) {
INHERITED::didTranslate(x, y); INHERITED::didTranslate(x, y);
} }
void BenchmarkingCanvas::didSetMatrix(const SkMatrix& m) { void BenchmarkingCanvas::didSetM44(const SkM44& m) {
SkScalar values[16];
m.getColMajor(values);
AutoOp op(this, "SetMatrix"); AutoOp op(this, "SetMatrix");
op.addParam("matrix", AsValue(m)); op.addParam("matrix", AsListValue(values, 16));
INHERITED::didSetMatrix(m); INHERITED::didSetM44(m);
} }
void BenchmarkingCanvas::onClipRect(const SkRect& rect, void BenchmarkingCanvas::onClipRect(const SkRect& rect,
......
...@@ -33,10 +33,9 @@ protected: ...@@ -33,10 +33,9 @@ protected:
void willRestore() override; void willRestore() override;
void didConcat44(const SkM44&) override; void didConcat44(const SkM44&) override;
void didConcat(const SkMatrix&) override;
void didScale(SkScalar, SkScalar) override; void didScale(SkScalar, SkScalar) override;
void didTranslate(SkScalar, SkScalar) override; void didTranslate(SkScalar, SkScalar) override;
void didSetMatrix(const SkMatrix&) override; void didSetM44(const SkM44&) override;
void onClipRect(const SkRect&, SkClipOp, ClipEdgeStyle) override; void onClipRect(const SkRect&, SkClipOp, ClipEdgeStyle) override;
void onClipRRect(const SkRRect&, SkClipOp, ClipEdgeStyle) override; void onClipRRect(const SkRRect&, SkClipOp, ClipEdgeStyle) override;
......
...@@ -115,9 +115,8 @@ class InterceptingCanvasBase : public SkCanvas { ...@@ -115,9 +115,8 @@ class InterceptingCanvasBase : public SkCanvas {
void onDrawPicture(const SkPicture*, void onDrawPicture(const SkPicture*,
const SkMatrix*, const SkMatrix*,
const SkPaint*) override = 0; const SkPaint*) override = 0;
void didSetMatrix(const SkMatrix&) override = 0; void didSetM44(const SkM44&) override = 0;
void didConcat44(const SkM44&) override = 0; void didConcat44(const SkM44&) override = 0;
void didConcat(const SkMatrix&) override = 0;
void didScale(SkScalar, SkScalar) override = 0; void didScale(SkScalar, SkScalar) override = 0;
void didTranslate(SkScalar, SkScalar) override = 0; void didTranslate(SkScalar, SkScalar) override = 0;
void willSave() override = 0; void willSave() override = 0;
...@@ -250,16 +249,10 @@ class InterceptingCanvas : public InterceptingCanvasBase { ...@@ -250,16 +249,10 @@ class InterceptingCanvas : public InterceptingCanvasBase {
this->UnrollDrawPicture(picture, matrix, paint, nullptr); this->UnrollDrawPicture(picture, matrix, paint, nullptr);
} }
void didSetMatrix(const SkMatrix& matrix) override { void didSetM44(const SkM44&) override { Interceptor interceptor(this); }
Interceptor interceptor(this);
}
void didConcat44(const SkM44&) override { Interceptor interceptor(this); } void didConcat44(const SkM44&) override { Interceptor interceptor(this); }
void didConcat(const SkMatrix& matrix) override {
Interceptor interceptor(this);
}
void didScale(SkScalar x, SkScalar y) override { void didScale(SkScalar x, SkScalar y) override {
Interceptor interceptor(this); Interceptor interceptor(this);
} }
......
...@@ -234,13 +234,6 @@ std::unique_ptr<JSONObject> ObjectForSkImage(const SkImage* image) { ...@@ -234,13 +234,6 @@ std::unique_ptr<JSONObject> ObjectForSkImage(const SkImage* image) {
return image_item; return image_item;
} }
std::unique_ptr<JSONArray> ArrayForSkMatrix(const SkMatrix& matrix) {
auto matrix_array = std::make_unique<JSONArray>();
for (int i = 0; i < 9; ++i)
matrix_array->PushDouble(matrix[i]);
return matrix_array;
}
std::unique_ptr<JSONArray> ArrayForSkScalars(size_t count, std::unique_ptr<JSONArray> ArrayForSkScalars(size_t count,
const SkScalar array[]) { const SkScalar array[]) {
auto points_array_item = std::make_unique<JSONArray>(); auto points_array_item = std::make_unique<JSONArray>();
...@@ -560,10 +553,12 @@ void LoggingCanvas::onDrawPicture(const SkPicture* picture, ...@@ -560,10 +553,12 @@ void LoggingCanvas::onDrawPicture(const SkPicture* picture,
this->UnrollDrawPicture(picture, matrix, paint, nullptr); this->UnrollDrawPicture(picture, matrix, paint, nullptr);
} }
void LoggingCanvas::didSetMatrix(const SkMatrix& matrix) { void LoggingCanvas::didSetM44(const SkM44& matrix) {
SkScalar m[16];
matrix.getColMajor(m);
AutoLogger logger(this); AutoLogger logger(this);
JSONObject* params = logger.LogItemWithParams("setMatrix"); JSONObject* params = logger.LogItemWithParams("setMatrix");
params->SetArray("matrix", ArrayForSkMatrix(matrix)); params->SetArray("matrix44", ArrayForSkScalars(16, m));
} }
void LoggingCanvas::didConcat44(const SkM44& matrix) { void LoggingCanvas::didConcat44(const SkM44& matrix) {
...@@ -574,29 +569,6 @@ void LoggingCanvas::didConcat44(const SkM44& matrix) { ...@@ -574,29 +569,6 @@ void LoggingCanvas::didConcat44(const SkM44& matrix) {
params->SetArray("matrix44", ArrayForSkScalars(16, m)); params->SetArray("matrix44", ArrayForSkScalars(16, m));
} }
void LoggingCanvas::didConcat(const SkMatrix& matrix) {
AutoLogger logger(this);
JSONObject* params;
switch (matrix.getType()) {
case SkMatrix::kTranslate_Mask:
params = logger.LogItemWithParams("translate");
params->SetDouble("dx", matrix.getTranslateX());
params->SetDouble("dy", matrix.getTranslateY());
break;
case SkMatrix::kScale_Mask:
params = logger.LogItemWithParams("scale");
params->SetDouble("scaleX", matrix.getScaleX());
params->SetDouble("scaleY", matrix.getScaleY());
break;
default:
params = logger.LogItemWithParams("concat");
params->SetArray("matrix", ArrayForSkMatrix(matrix));
}
}
void LoggingCanvas::didScale(SkScalar x, SkScalar y) { void LoggingCanvas::didScale(SkScalar x, SkScalar y) {
AutoLogger logger(this); AutoLogger logger(this);
JSONObject* params = logger.LogItemWithParams("scale"); JSONObject* params = logger.LogItemWithParams("scale");
......
...@@ -77,9 +77,8 @@ class LoggingCanvas : public InterceptingCanvasBase { ...@@ -77,9 +77,8 @@ class LoggingCanvas : public InterceptingCanvasBase {
void onDrawPicture(const SkPicture*, void onDrawPicture(const SkPicture*,
const SkMatrix*, const SkMatrix*,
const SkPaint*) override; const SkPaint*) override;
void didSetMatrix(const SkMatrix&) override; void didSetM44(const SkM44&) override;
void didConcat44(const SkM44&) override; void didConcat44(const SkM44&) override;
void didConcat(const SkMatrix&) override;
void didScale(SkScalar, SkScalar) override; void didScale(SkScalar, SkScalar) override;
void didTranslate(SkScalar, SkScalar) override; void didTranslate(SkScalar, SkScalar) override;
void willSave() override; void willSave() override;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment