From 33da6fbec2ec9c407cbad6e3a4062b7edabe5c6c Mon Sep 17 00:00:00 2001 From: Alejandro Alonso Date: Wed, 12 Nov 2025 10:31:27 +0100 Subject: [PATCH] :bug: Fix shadows clipping --- .../get-file-large-blur-shadow.json | 890 ++++++++++++++++++ .../ui/render-wasm-specs/shapes.spec.js | 16 + ...-frame-with-a-large-blur-drop-shadow-1.png | Bin 0 -> 80316 bytes render-wasm/src/render.rs | 41 +- 4 files changed, 945 insertions(+), 2 deletions(-) create mode 100644 frontend/playwright/data/render-wasm/get-file-large-blur-shadow.json create mode 100644 frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Renders-a-clipped-frame-with-a-large-blur-drop-shadow-1.png diff --git a/frontend/playwright/data/render-wasm/get-file-large-blur-shadow.json b/frontend/playwright/data/render-wasm/get-file-large-blur-shadow.json new file mode 100644 index 0000000000..a51c634fbe --- /dev/null +++ b/frontend/playwright/data/render-wasm/get-file-large-blur-shadow.json @@ -0,0 +1,890 @@ +{ + "~:features": { + "~#set": [ + "fdata/path-data", + "plugins/runtime", + "design-tokens/v1", + "variants/v1", + "layout/grid", + "styles/v2", + "fdata/pointer-map", + "fdata/objects-map", + "render-wasm/v1", + "components/v2", + "fdata/shape-data-type" + ] + }, + "~:team-id": "~ueba8fa2e-4140-8084-8005-448635d7a724", + "~:permissions": { + "~:type": "~:membership", + "~:is-owner": true, + "~:is-admin": true, + "~:can-edit": true, + "~:can-read": true, + "~:is-logged": true + }, + "~:has-media-trimmed": false, + "~:comment-thread-seqn": 0, + "~:name": "New File 1", + "~:revn": 1, + "~:modified-at": "~m1762943590499", + "~:vern": 0, + "~:id": "~ub4133204-a015-80ed-8007-192a65398b0c", + "~:is-shared": false, + "~:migrations": { + "~#ordered-set": [ + "legacy-2", + "legacy-3", + "legacy-5", + "legacy-6", + "legacy-7", + "legacy-8", + "legacy-9", + "legacy-10", + "legacy-11", + "legacy-12", + "legacy-13", + "legacy-14", + "legacy-16", + "legacy-17", + "legacy-18", + "legacy-19", + "legacy-25", + "legacy-26", + "legacy-27", + "legacy-28", + "legacy-29", + "legacy-31", + "legacy-32", + "legacy-33", + "legacy-34", + "legacy-36", + "legacy-37", + "legacy-38", + "legacy-39", + "legacy-40", + "legacy-41", + "legacy-42", + "legacy-43", + "legacy-44", + "legacy-45", + "legacy-46", + "legacy-47", + "legacy-48", + "legacy-49", + "legacy-50", + "legacy-51", + "legacy-52", + "legacy-53", + "legacy-54", + "legacy-55", + "legacy-56", + "legacy-57", + "legacy-59", + "legacy-62", + "legacy-65", + "legacy-66", + "legacy-67", + "0001-remove-tokens-from-groups", + "0002-normalize-bool-content-v2", + "0002-clean-shape-interactions", + "0003-fix-root-shape", + "0003-convert-path-content-v2", + "0005-deprecate-image-type", + "0006-fix-old-texts-fills", + "0008-fix-library-colors-v4", + "0009-clean-library-colors", + "0009-add-partial-text-touched-flags", + "0010-fix-swap-slots-pointing-non-existent-shapes", + "0011-fix-invalid-text-touched-flags", + "0012-fix-position-data", + "0013-fix-component-path", + "0013-clear-invalid-strokes-and-fills", + "0014-fix-tokens-lib-duplicate-ids", + "0014-clear-components-nil-objects", + "0015-fix-text-attrs-blank-strings", + "0015-clean-shadow-color", + "0016-copy-fills-from-position-data-to-text-node" + ] + }, + "~:version": 67, + "~:project-id": "~ueba8fa2e-4140-8084-8005-448635da32b4", + "~:created-at": "~m1762943119590", + "~:backend": "legacy-db", + "~:data": { + "~:pages": [ + "~ub4133204-a015-80ed-8007-192a65398b0d" + ], + "~:pages-index": { + "~ub4133204-a015-80ed-8007-192a65398b0d": { + "~:objects": { + "~u00000000-0000-0000-0000-000000000000": { + "~#shape": { + "~:y": 0, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:name": "Root Frame", + "~:width": 0.01, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 0, + "~:y": 0 + } + }, + { + "~#point": { + "~:x": 0.01, + "~:y": 0 + } + }, + { + "~#point": { + "~:x": 0.01, + "~:y": 0.01 + } + }, + { + "~#point": { + "~:x": 0, + "~:y": 0.01 + } + } + ], + "~:r2": 0, + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:r3": 0, + "~:r1": 0, + "~:id": "~u00000000-0000-0000-0000-000000000000", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [], + "~:x": 0, + "~:proportion": 1, + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 0, + "~:y": 0, + "~:width": 0.01, + "~:height": 0.01, + "~:x1": 0, + "~:y1": 0, + "~:x2": 0.01, + "~:y2": 0.01 + } + }, + "~:fills": [ + { + "~:fill-color": "#FFFFFF", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 0.01, + "~:flip-y": null, + "~:shapes": [ + "~u8d80d76b-68f7-803d-8007-192c2e0a5ab7", + "~u8d80d76b-68f7-803d-8007-192c2e0a5ab9", + "~u8d80d76b-68f7-803d-8007-192c2e0a5abb", + "~u8d80d76b-68f7-803d-8007-192c2e0a5abc" + ] + } + }, + "~u8d80d76b-68f7-803d-8007-192c2e0a5ab7": { + "~#shape": { + "~:y": 492.000000032425, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Board", + "~:width": 348, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 354, + "~:y": 492.000000032425 + } + }, + { + "~#point": { + "~:x": 702, + "~:y": 492.000000032425 + } + }, + { + "~#point": { + "~:x": 702, + "~:y": 829.000000032425 + } + }, + { + "~#point": { + "~:x": 354, + "~:y": 829.000000032425 + } + } + ], + "~:r2": 0, + "~:show-content": false, + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:r3": 0, + "~:r1": 0, + "~:id": "~u8d80d76b-68f7-803d-8007-192c2e0a5ab7", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [], + "~:x": 354, + "~:proportion": 1, + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 354, + "~:y": 492.000000032425, + "~:width": 348, + "~:height": 337, + "~:x1": 354, + "~:y1": 492.000000032425, + "~:x2": 702, + "~:y2": 829.000000032425 + } + }, + "~:fills": [ + { + "~:fill-color": "#abf22a", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 337, + "~:flip-y": null, + "~:shapes": [ + "~u8d80d76b-68f7-803d-8007-192c2e0a5ab8" + ] + } + }, + "~u8d80d76b-68f7-803d-8007-192c2e0a5ab8": { + "~#shape": { + "~:y": 532.999984773636, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 200, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 421, + "~:y": 532.999984773636 + } + }, + { + "~#point": { + "~:x": 621, + "~:y": 532.999984773636 + } + }, + { + "~#point": { + "~:x": 621, + "~:y": 712.999984773636 + } + }, + { + "~#point": { + "~:x": 421, + "~:y": 712.999984773636 + } + } + ], + "~:r2": 0, + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:r3": 0, + "~:r1": 0, + "~:id": "~u8d80d76b-68f7-803d-8007-192c2e0a5ab8", + "~:parent-id": "~u8d80d76b-68f7-803d-8007-192c2e0a5ab7", + "~:frame-id": "~u8d80d76b-68f7-803d-8007-192c2e0a5ab7", + "~:strokes": [], + "~:x": 421, + "~:proportion": 1, + "~:shadow": [ + { + "~:id": "~u005d085d-63c2-80b6-8007-18ffe15ad03b", + "~:style": "~:drop-shadow", + "~:color": { + "~:color": "#f40000", + "~:opacity": 1 + }, + "~:offset-x": 50, + "~:offset-y": 50, + "~:blur": 100, + "~:spread": 0, + "~:hidden": false + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 421, + "~:y": 532.999984773636, + "~:width": 200, + "~:height": 180, + "~:x1": 421, + "~:y1": 532.999984773636, + "~:x2": 621, + "~:y2": 712.999984773636 + } + }, + "~:fills": [ + { + "~:fill-color": "#003ef9", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 180, + "~:flip-y": null + } + }, + "~u8d80d76b-68f7-803d-8007-192c2e0a5ab9": { + "~#shape": { + "~:y": 491.999999162674, + "~:hide-fill-on-export": false, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Board", + "~:width": 348, + "~:type": "~:frame", + "~:points": [ + { + "~#point": { + "~:x": 958.999967498779, + "~:y": 491.999999162674 + } + }, + { + "~#point": { + "~:x": 1306.99996749878, + "~:y": 491.999999162674 + } + }, + { + "~#point": { + "~:x": 1306.99996749878, + "~:y": 828.999999162674 + } + }, + { + "~#point": { + "~:x": 958.999967498779, + "~:y": 828.999999162674 + } + } + ], + "~:r2": 0, + "~:show-content": true, + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:r3": 0, + "~:r1": 0, + "~:id": "~u8d80d76b-68f7-803d-8007-192c2e0a5ab9", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [], + "~:x": 958.999967498779, + "~:proportion": 1, + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 958.999967498779, + "~:y": 491.999999162674, + "~:width": 348, + "~:height": 337, + "~:x1": 958.999967498779, + "~:y1": 491.999999162674, + "~:x2": 1306.99996749878, + "~:y2": 828.999999162674 + } + }, + "~:fills": [ + { + "~:fill-color": "#abf22a", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 337, + "~:flip-y": null, + "~:shapes": [ + "~u8d80d76b-68f7-803d-8007-192c2e0a5aba" + ] + } + }, + "~u8d80d76b-68f7-803d-8007-192c2e0a5aba": { + "~#shape": { + "~:y": 532.999999162674, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:hide-in-viewer": false, + "~:name": "Rectangle", + "~:width": 200, + "~:type": "~:rect", + "~:points": [ + { + "~#point": { + "~:x": 1025.99998275757, + "~:y": 532.999999162674 + } + }, + { + "~#point": { + "~:x": 1225.99998275757, + "~:y": 532.999999162674 + } + }, + { + "~#point": { + "~:x": 1225.99998275757, + "~:y": 712.999999162674 + } + }, + { + "~#point": { + "~:x": 1025.99998275757, + "~:y": 712.999999162674 + } + } + ], + "~:r2": 0, + "~:proportion-lock": false, + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:r3": 0, + "~:r1": 0, + "~:id": "~u8d80d76b-68f7-803d-8007-192c2e0a5aba", + "~:parent-id": "~u8d80d76b-68f7-803d-8007-192c2e0a5ab9", + "~:frame-id": "~u8d80d76b-68f7-803d-8007-192c2e0a5ab9", + "~:strokes": [], + "~:x": 1025.99998275757, + "~:proportion": 1, + "~:shadow": [ + { + "~:id": "~u005d085d-63c2-80b6-8007-18ffe15ad03b", + "~:style": "~:drop-shadow", + "~:color": { + "~:color": "#f40000", + "~:opacity": 1 + }, + "~:offset-x": 50, + "~:offset-y": 50, + "~:blur": 100, + "~:spread": 0, + "~:hidden": false + } + ], + "~:r4": 0, + "~:selrect": { + "~#rect": { + "~:x": 1025.99998275757, + "~:y": 532.999999162674, + "~:width": 200, + "~:height": 180, + "~:x1": 1025.99998275757, + "~:y1": 532.999999162674, + "~:x2": 1225.99998275757, + "~:y2": 712.999999162674 + } + }, + "~:fills": [ + { + "~:fill-color": "#003ef9", + "~:fill-opacity": 1 + } + ], + "~:flip-x": null, + "~:height": 180, + "~:flip-y": null + } + }, + "~u8d80d76b-68f7-803d-8007-192c2e0a5abb": { + "~#shape": { + "~:y": 450.000000032425, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~:type": "root", + "~:key": "hjocz4oksb", + "~:children": [ + { + "~:type": "paragraph-set", + "~:children": [ + { + "~:line-height": "1.2", + "~:font-style": "normal", + "~:children": [ + { + "~:line-height": "1.2", + "~:font-style": "normal", + "~:text-transform": "none", + "~:font-id": "sourcesanspro", + "~:key": "9xn5ujq7hr", + "~:font-size": "14", + "~:font-weight": "400", + "~:font-variant-id": "regular", + "~:text-decoration": "none", + "~:letter-spacing": "0", + "~:fills": [ + { + "~:fill-color": "#000000", + "~:fill-opacity": 1 + } + ], + "~:font-family": "sourcesanspro", + "~:text": "CLIPPING" + } + ], + "~:text-transform": "none", + "~:text-align": "left", + "~:font-id": "sourcesanspro", + "~:key": "2x8x661yyn", + "~:font-size": "14", + "~:font-weight": "400", + "~:text-direction": "ltr", + "~:type": "paragraph", + "~:font-variant-id": "regular", + "~:text-decoration": "none", + "~:letter-spacing": "0", + "~:fills": [ + { + "~:fill-color": "#000000", + "~:fill-opacity": 1 + } + ], + "~:font-family": "sourcesanspro" + } + ] + } + ], + "~:vertical-align": "top" + }, + "~:hide-in-viewer": false, + "~:name": "CLIPPING", + "~:width": 194, + "~:type": "~:text", + "~:points": [ + { + "~#point": { + "~:x": 359, + "~:y": 450.000000032425 + } + }, + { + "~#point": { + "~:x": 553, + "~:y": 450.000000032425 + } + }, + { + "~#point": { + "~:x": 553, + "~:y": 475.000000032425 + } + }, + { + "~#point": { + "~:x": 359, + "~:y": 475.000000032425 + } + } + ], + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:id": "~u8d80d76b-68f7-803d-8007-192c2e0a5abb", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [], + "~:x": 359, + "~:selrect": { + "~#rect": { + "~:x": 359, + "~:y": 450.000000032425, + "~:width": 194, + "~:height": 25, + "~:x1": 359, + "~:y1": 450.000000032425, + "~:x2": 553, + "~:y2": 475.000000032425 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 25, + "~:flip-y": null + } + }, + "~u8d80d76b-68f7-803d-8007-192c2e0a5abc": { + "~#shape": { + "~:y": 450, + "~:transform": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:rotation": 0, + "~:grow-type": "~:fixed", + "~:content": { + "~:type": "root", + "~:key": "hjocz4oksb", + "~:children": [ + { + "~:type": "paragraph-set", + "~:children": [ + { + "~:line-height": "1.2", + "~:font-style": "normal", + "~:children": [ + { + "~:line-height": "", + "~:font-style": "normal", + "~:text-transform": "none", + "~:font-id": "sourcesanspro", + "~:key": "9xn5ujq7hr", + "~:font-size": "14", + "~:font-weight": "400", + "~:font-variant-id": "regular", + "~:text-decoration": "none", + "~:letter-spacing": "0", + "~:fills": [ + { + "~:fill-color": "#000000", + "~:fill-opacity": 1 + } + ], + "~:font-family": "sourcesanspro", + "~:text": "NO CLIPPING" + } + ], + "~:text-transform": "none", + "~:text-align": "left", + "~:font-id": "sourcesanspro", + "~:key": "2x8x661yyn", + "~:font-size": "0", + "~:font-weight": "400", + "~:text-direction": "ltr", + "~:type": "paragraph", + "~:font-variant-id": "regular", + "~:text-decoration": "none", + "~:letter-spacing": "0", + "~:fills": [ + { + "~:fill-color": "#000000", + "~:fill-opacity": 1 + } + ], + "~:font-family": "sourcesanspro" + } + ] + } + ], + "~:vertical-align": "top" + }, + "~:hide-in-viewer": false, + "~:name": "CLIPPING", + "~:width": 194, + "~:type": "~:text", + "~:points": [ + { + "~#point": { + "~:x": 958.999966363907, + "~:y": 450 + } + }, + { + "~#point": { + "~:x": 1152.99996636391, + "~:y": 450 + } + }, + { + "~#point": { + "~:x": 1152.99996636391, + "~:y": 475 + } + }, + { + "~#point": { + "~:x": 958.999966363907, + "~:y": 475 + } + } + ], + "~:transform-inverse": { + "~#matrix": { + "~:a": 1, + "~:b": 0, + "~:c": 0, + "~:d": 1, + "~:e": 0, + "~:f": 0 + } + }, + "~:id": "~u8d80d76b-68f7-803d-8007-192c2e0a5abc", + "~:parent-id": "~u00000000-0000-0000-0000-000000000000", + "~:frame-id": "~u00000000-0000-0000-0000-000000000000", + "~:strokes": [], + "~:x": 958.999966363907, + "~:selrect": { + "~#rect": { + "~:x": 958.999966363907, + "~:y": 450, + "~:width": 194, + "~:height": 25, + "~:x1": 958.999966363907, + "~:y1": 450, + "~:x2": 1152.99996636391, + "~:y2": 475 + } + }, + "~:fills": [], + "~:flip-x": null, + "~:height": 25, + "~:flip-y": null + } + } + }, + "~:id": "~ub4133204-a015-80ed-8007-192a65398b0d", + "~:name": "Page 1" + } + }, + "~:id": "~ub4133204-a015-80ed-8007-192a65398b0c", + "~:options": { + "~:components-v2": true, + "~:base-font-size": "16px" + } + } + } \ No newline at end of file diff --git a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js index f4e6822ed6..d440ced393 100644 --- a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js +++ b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js @@ -244,3 +244,19 @@ test("Renders a file with nested frames with inherited blur", async ({ await expect(workspace.canvas).toHaveScreenshot(); }); + +test("Renders a clipped frame with a large blur drop shadow", async ({ + page, +}) => { + const workspace = new WasmWorkspacePage(page); + await workspace.setupEmptyFile(); + await workspace.mockGetFile("render-wasm/get-file-large-blur-shadow.json"); + + await workspace.goToWorkspace({ + id: "b4133204-a015-80ed-8007-192a65398b0c", + pageId: "b4133204-a015-80ed-8007-192a65398b0d", + }); + await workspace.waitForFirstRender(); + + await expect(workspace.canvas).toHaveScreenshot(); +}); diff --git a/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Renders-a-clipped-frame-with-a-large-blur-drop-shadow-1.png b/frontend/playwright/ui/render-wasm-specs/shapes.spec.js-snapshots/Renders-a-clipped-frame-with-a-large-blur-drop-shadow-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b40ae4275ea093633283bc17dd0a63d394fc405f GIT binary patch literal 80316 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�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 literal 0 HcmV?d00001 diff --git a/render-wasm/src/render.rs b/render-wasm/src/render.rs index 3ca41280ca..80fc974fef 100644 --- a/render-wasm/src/render.rs +++ b/render-wasm/src/render.rs @@ -1386,8 +1386,45 @@ impl RenderState { } } - self.surfaces - .draw_into(SurfaceId::DropShadows, SurfaceId::Current, None); + if let Some((bounds, corners, transform)) = clip_bounds.as_ref() { + let antialias = element.should_use_antialias(scale); + let mut total_matrix = Matrix::new_identity(); + total_matrix.pre_scale((scale, scale), None); + total_matrix.pre_translate((translation.0, translation.1)); + total_matrix.pre_concat(transform); + + self.surfaces.canvas(SurfaceId::Current).save(); + self.surfaces + .canvas(SurfaceId::Current) + .concat(&total_matrix); + + if let Some(corners) = corners { + let rrect = RRect::new_rect_radii(*bounds, corners); + self.surfaces.canvas(SurfaceId::Current).clip_rrect( + rrect, + skia::ClipOp::Intersect, + antialias, + ); + } else { + self.surfaces.canvas(SurfaceId::Current).clip_rect( + *bounds, + skia::ClipOp::Intersect, + antialias, + ); + } + + self.surfaces + .canvas(SurfaceId::Current) + .concat(&total_matrix.invert().unwrap_or_default()); + + self.surfaces + .draw_into(SurfaceId::DropShadows, SurfaceId::Current, None); + + self.surfaces.canvas(SurfaceId::Current).restore(); + } else { + self.surfaces + .draw_into(SurfaceId::DropShadows, SurfaceId::Current, None); + } self.surfaces .canvas(SurfaceId::DropShadows)