@@ -53,7 +53,6 @@ IMPLEMENT_WRAPPERTYPEINFO(ui, SceneBuilder);
5353 V (SceneBuilder, pushShaderMask) \
5454 V (SceneBuilder, pushPhysicalShape) \
5555 V (SceneBuilder, pop) \
56- V (SceneBuilder, addRetained) \
5756 V (SceneBuilder, addPicture) \
5857 V (SceneBuilder, addTexture) \
5958 V (SceneBuilder, addChildScene) \
@@ -81,12 +80,11 @@ void SceneBuilder::pushTransform(const tonic::Float64List& matrix4) {
8180 PushLayer (std::move (layer));
8281}
8382
84- fml::RefPtr<EngineLayer> SceneBuilder::pushOffset (double dx, double dy) {
83+ void SceneBuilder::pushOffset (double dx, double dy) {
8584 SkMatrix sk_matrix = SkMatrix::MakeTrans (dx, dy);
86- auto layer = std::make_shared <flow::TransformLayer>();
85+ auto layer = std::make_unique <flow::TransformLayer>();
8786 layer->set_transform (sk_matrix);
88- PushLayer (layer);
89- return EngineLayer::MakeRetained (layer);
87+ PushLayer (std::move (layer));
9088}
9189
9290void SceneBuilder::pushClipRect (double left,
@@ -150,29 +148,21 @@ void SceneBuilder::pushShaderMask(Shader* shader,
150148 PushLayer (std::move (layer));
151149}
152150
153- fml::RefPtr<EngineLayer> SceneBuilder::pushPhysicalShape (const CanvasPath* path,
154- double elevation,
155- int color,
156- int shadow_color,
157- int clipBehavior) {
151+ void SceneBuilder::pushPhysicalShape (const CanvasPath* path,
152+ double elevation,
153+ int color,
154+ int shadow_color,
155+ int clipBehavior) {
158156 const SkPath& sk_path = path->path ();
159157 flow::Clip clip_behavior = static_cast <flow::Clip>(clipBehavior);
160- auto layer = std::make_shared <flow::PhysicalShapeLayer>(clip_behavior);
158+ auto layer = std::make_unique <flow::PhysicalShapeLayer>(clip_behavior);
161159 layer->set_path (sk_path);
162160 layer->set_elevation (elevation);
163161 layer->set_color (static_cast <SkColor>(color));
164162 layer->set_shadow_color (static_cast <SkColor>(shadow_color));
165163 layer->set_device_pixel_ratio (
166164 UIDartState::Current ()->window ()->viewport_metrics ().device_pixel_ratio );
167- PushLayer (layer);
168- return EngineLayer::MakeRetained (layer);
169- }
170-
171- void SceneBuilder::addRetained (fml::RefPtr<EngineLayer> retainedLayer) {
172- if (!current_layer_) {
173- return ;
174- }
175- current_layer_->Add (retainedLayer->Layer ());
165+ PushLayer (std::move (layer));
176166}
177167
178168void SceneBuilder::pop () {
@@ -270,7 +260,7 @@ fml::RefPtr<Scene> SceneBuilder::build() {
270260 return scene;
271261}
272262
273- void SceneBuilder::PushLayer (std::shared_ptr <flow::ContainerLayer> layer) {
263+ void SceneBuilder::PushLayer (std::unique_ptr <flow::ContainerLayer> layer) {
274264 FML_DCHECK (layer);
275265
276266 if (!root_layer_) {
0 commit comments