diff --git a/flow/layers/physical_model_layer.cc b/flow/layers/physical_model_layer.cc index b77482ee7017f10c717645189b4f9db30fec6683..e02c803b74891958d86650db9b18f59ca09af46a 100644 --- a/flow/layers/physical_model_layer.cc +++ b/flow/layers/physical_model_layer.cc @@ -72,7 +72,7 @@ void PhysicalModelLayer::Paint(PaintContext& context) { } void PhysicalModelLayer::DrawShadow(SkCanvas* canvas, const SkPath& path, - SkColor color, int elevation, + SkColor color, double elevation, bool transparentOccluder) { SkShadowFlags flags = transparentOccluder ? SkShadowFlags::kTransparentOccluder_ShadowFlag : diff --git a/flow/layers/physical_model_layer.h b/flow/layers/physical_model_layer.h index bdd10971f6d5bb2987061dbf10669030e2739f26..138dd8171f3f5d8214a726c94e11050293688ef7 100644 --- a/flow/layers/physical_model_layer.h +++ b/flow/layers/physical_model_layer.h @@ -15,11 +15,11 @@ class PhysicalModelLayer : public ContainerLayer { ~PhysicalModelLayer() override; void set_rrect(const SkRRect& rrect) { rrect_ = rrect; } - void set_elevation(int elevation) { elevation_ = elevation; } + void set_elevation(double elevation) { elevation_ = elevation; } void set_color(SkColor color) { color_ = color; } static void DrawShadow(SkCanvas* canvas, const SkPath& path, - SkColor color, int elevation, bool transparentOccluder); + SkColor color, double elevation, bool transparentOccluder); protected: void Preroll(PrerollContext* context, const SkMatrix& matrix) override; @@ -32,7 +32,7 @@ class PhysicalModelLayer : public ContainerLayer { private: SkRRect rrect_; - int elevation_; + double elevation_; SkColor color_; }; diff --git a/lib/ui/compositing.dart b/lib/ui/compositing.dart index cab886f5c23ca6b96540ca84572c337d6d7a32cc..e65e55235b9b4a588bae02662aff2afd17f0412f 100644 --- a/lib/ui/compositing.dart +++ b/lib/ui/compositing.dart @@ -132,11 +132,11 @@ class SceneBuilder extends NativeFieldWrapperClass2 { /// Rasterization will be clipped to the given shape. /// /// See [pop] for details about the operation stack. - void pushPhysicalModel({ RRect rrect, int elevation, Color color }) { + void pushPhysicalModel({ RRect rrect, double elevation, Color color }) { _pushPhysicalModel(rrect._value, elevation, color.value); } void _pushPhysicalModel(Float32List rrect, - int elevation, + double elevation, int color) native "SceneBuilder_pushPhysicalModel"; /// Ends the effect of the most recently pushed operation. diff --git a/lib/ui/compositing/scene_builder.cc b/lib/ui/compositing/scene_builder.cc index 13f2fc29f1186038e968122c6d95c0495b2fe636..205292377bb33ecb4ceda75de3d79bfebdd56690 100644 --- a/lib/ui/compositing/scene_builder.cc +++ b/lib/ui/compositing/scene_builder.cc @@ -155,7 +155,7 @@ void SceneBuilder::pushShaderMask(Shader* shader, } void SceneBuilder::pushPhysicalModel(const RRect& rrect, - int elevation, + double elevation, int color) { SkRect cullRect; if (!cullRect.intersect(rrect.sk_rrect.rect(), m_cullRects.top())) diff --git a/lib/ui/compositing/scene_builder.h b/lib/ui/compositing/scene_builder.h index 0166800cf5479b7813f284cb36a823d7233e3e04..dc4fb31eca640163d0d169c10f3df2d69f1fba05 100644 --- a/lib/ui/compositing/scene_builder.h +++ b/lib/ui/compositing/scene_builder.h @@ -46,7 +46,7 @@ class SceneBuilder : public ftl::RefCountedThreadSafe, double maskRectTop, double maskRectBottom, int blendMode); - void pushPhysicalModel(const RRect& rrect, int elevation, int color); + void pushPhysicalModel(const RRect& rrect, double elevation, int color); void pop(); diff --git a/lib/ui/painting.dart b/lib/ui/painting.dart index 1e635ffcb2ba061ba394dba5938cb11e9ad7e30e..bfd612cc8e561bb10d1323f1a588ce28f5477175 100644 --- a/lib/ui/painting.dart +++ b/lib/ui/painting.dart @@ -1608,13 +1608,13 @@ class Canvas extends NativeFieldWrapperClass2 { /// Draws a shadow for a [Path] representing the given material elevation. /// /// transparentOccluder should be true if the occluding object is not opaque. - void drawShadow(Path path, Color color, int elevation, bool transparentOccluder) { + void drawShadow(Path path, Color color, double elevation, bool transparentOccluder) { _drawShadow(path, color.value, elevation, transparentOccluder); } void _drawShadow(Path path, int color, - int elevation, + double elevation, bool transparentOccluder) native "Canvas_drawShadow"; } diff --git a/lib/ui/painting/canvas.cc b/lib/ui/painting/canvas.cc index 34d48d0c3529574325a7485dce8920a7e3021a04..43add7a989d72f05125a023d30e2b3a95025ff4d 100644 --- a/lib/ui/painting/canvas.cc +++ b/lib/ui/painting/canvas.cc @@ -380,7 +380,7 @@ void Canvas::drawAtlas(const Paint& paint, void Canvas::drawShadow(const CanvasPath* path, SkColor color, - int elevation, + double elevation, bool transparentOccluder) { flow::PhysicalModelLayer::DrawShadow(canvas_, path->path(), diff --git a/lib/ui/painting/canvas.h b/lib/ui/painting/canvas.h index a47b28d8dd44bc88cdc547b532707a5f983ba631..f10e3ac283de10efcb8214759516c4f248d0f883 100644 --- a/lib/ui/painting/canvas.h +++ b/lib/ui/painting/canvas.h @@ -159,7 +159,7 @@ class Canvas : public ftl::RefCountedThreadSafe, void drawShadow(const CanvasPath* path, SkColor color, - int elevation, + double elevation, bool transparentOccluder); SkCanvas* canvas() const { return canvas_; }