From 092ccce75489d83b36d6fe8a8dd76b1f3a7509c0 Mon Sep 17 00:00:00 2001 From: Casey Hillers Date: Sun, 21 Aug 2022 20:50:22 +0200 Subject: [PATCH] Revert "Make ShaderMaskLayer code builder aware (#35534)" This reverts commit 02f9602f7c2b6c62a60a7e109007d8fd0270f1ac. --- flow/layers/shader_mask_layer.cc | 33 +++++++--------------- flow/layers/shader_mask_layer_unittests.cc | 13 ++++----- 2 files changed, 16 insertions(+), 30 deletions(-) diff --git a/flow/layers/shader_mask_layer.cc b/flow/layers/shader_mask_layer.cc index 9a99a807ea2fe..b7dd47e48d99e 100644 --- a/flow/layers/shader_mask_layer.cc +++ b/flow/layers/shader_mask_layer.cc @@ -54,32 +54,19 @@ void ShaderMaskLayer::Paint(PaintContext& context) const { return; } } - auto shader_rect = SkRect::MakeWH(mask_rect_.width(), mask_rect_.height()); - if (context.leaf_nodes_builder) { - context.builder_multiplexer->saveLayer(&paint_bounds(), - cache_paint.dl_paint()); - PaintChildren(context); + Layer::AutoSaveLayer save = Layer::AutoSaveLayer::Create( + context, paint_bounds(), cache_paint.sk_paint()); + PaintChildren(context); - DlPaint dl_paint; - dl_paint.setBlendMode(blend_mode_); - if (shader_) { - dl_paint.setColorSource(shader_.get()); - } - context.leaf_nodes_builder->translate(mask_rect_.left(), mask_rect_.top()); - context.leaf_nodes_builder->drawRect(shader_rect, dl_paint); - } else { - Layer::AutoSaveLayer save = Layer::AutoSaveLayer::Create( - context, paint_bounds(), cache_paint.sk_paint()); - PaintChildren(context); - SkPaint paint; - paint.setBlendMode(ToSk(blend_mode_)); - if (shader_) { - paint.setShader(shader_->skia_object()); - } - context.leaf_nodes_canvas->translate(mask_rect_.left(), mask_rect_.top()); - context.leaf_nodes_canvas->drawRect(shader_rect, paint); + SkPaint paint; + paint.setBlendMode(ToSk(blend_mode_)); + if (shader_) { + paint.setShader(shader_->skia_object()); } + context.leaf_nodes_canvas->translate(mask_rect_.left(), mask_rect_.top()); + context.leaf_nodes_canvas->drawRect( + SkRect::MakeWH(mask_rect_.width(), mask_rect_.height()), paint); } } // namespace flutter diff --git a/flow/layers/shader_mask_layer_unittests.cc b/flow/layers/shader_mask_layer_unittests.cc index c4f863ac01eaa..5f6c38b76a0f1 100644 --- a/flow/layers/shader_mask_layer_unittests.cc +++ b/flow/layers/shader_mask_layer_unittests.cc @@ -373,18 +373,17 @@ TEST_F(ShaderMaskLayerTest, OpacityInheritance) { { expected_builder.translate(offset.fX, offset.fY); /* ShaderMaskLayer::Paint() */ { - DlPaint sl_paint; - sl_paint.setColor(opacity_alpha << 24); - expected_builder.saveLayer(&child_path.getBounds(), &sl_paint); + expected_builder.setColor(opacity_alpha << 24); + expected_builder.saveLayer(&child_path.getBounds(), true); { /* child layer paint */ { - expected_builder.drawPath(child_path, - DlPaint().setColor(0xFF000000)); + expected_builder.setColor(0xFF000000); + expected_builder.drawPath(child_path); } expected_builder.translate(mask_rect.fLeft, mask_rect.fTop); + expected_builder.setBlendMode(DlBlendMode::kSrc); expected_builder.drawRect( - SkRect::MakeWH(mask_rect.width(), mask_rect.height()), - DlPaint().setBlendMode(DlBlendMode::kSrc)); + SkRect::MakeWH(mask_rect.width(), mask_rect.height())); } expected_builder.restore(); }