diff --git a/src/Perspex.SceneGraph/Rendering/RendererBase.cs b/src/Perspex.SceneGraph/Rendering/RendererBase.cs index 26e74dc6ad..26a5a9437a 100644 --- a/src/Perspex.SceneGraph/Rendering/RendererBase.cs +++ b/src/Perspex.SceneGraph/Rendering/RendererBase.cs @@ -101,7 +101,7 @@ namespace Perspex.Rendering var d = context.PushTransform(m); using (context.PushOpacity(opacity)) - using (visual.ClipToBounds ? context.PushClip(visual.Bounds) : null) + using (visual.ClipToBounds ? context.PushClip(new Rect(visual.Bounds.Size)) : null) { visual.Render(context); d.Dispose(); diff --git a/tests/Perspex.RenderTests/Shapes/RectangleTests.cs b/tests/Perspex.RenderTests/Shapes/RectangleTests.cs index fc3dc26d46..f58297f7e8 100644 Binary files a/tests/Perspex.RenderTests/Shapes/RectangleTests.cs and b/tests/Perspex.RenderTests/Shapes/RectangleTests.cs differ diff --git a/tests/TestFiles/Cairo/Shapes/Rectangle/Rectangle_Stroke_Fill_ClipToBounds.expected.png b/tests/TestFiles/Cairo/Shapes/Rectangle/Rectangle_Stroke_Fill_ClipToBounds.expected.png new file mode 100644 index 0000000000..d1c13a9e57 Binary files /dev/null and b/tests/TestFiles/Cairo/Shapes/Rectangle/Rectangle_Stroke_Fill_ClipToBounds.expected.png differ diff --git a/tests/TestFiles/Direct2D1/Shapes/Rectangle/Rectangle_Stroke_Fill_ClipToBounds.expected.png b/tests/TestFiles/Direct2D1/Shapes/Rectangle/Rectangle_Stroke_Fill_ClipToBounds.expected.png new file mode 100644 index 0000000000..d1c13a9e57 Binary files /dev/null and b/tests/TestFiles/Direct2D1/Shapes/Rectangle/Rectangle_Stroke_Fill_ClipToBounds.expected.png differ