Fixing box with corner radius doesn't have shadow #15607
+118
−10
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
The
boxShadowstyle property does not render whenborderRadiusis also set on a View. Only one attribute works at a time - the shadow is ignored if both are presentType of Change
Why
In composition, when a geometric clip is applied to a visual for
borderRadius, the clip affects both the visual content AND itsDropShadowSince shadows extend outside the visual bounds, the shadow gets clipped and becomes invisible.Resolves [https://github.com//issues/15604]
What
CompositionSwitcher.idl: Added Mask() and SourcePolicy() methods to IDropShadow interface
CompositionContextHelper.cpp: Implemented Mask() and SourcePolicy() in CompDropShadow, added CompositionDropShadowSourcePolicy type mappings
CompositionViewComponentView.cpp: Updated applyShadowProps() to conditionally use the mask approach when borderRadius is present
Screenshots
Before
After

Testing
If you added tests that prove your changes are effective or that your feature works, add a few sentences here detailing the added test scenarios.
Changelog
Should this change be included in the release notes: yes
Fixed issue where box with corner radius doesn't have shadow
Microsoft Reviewers: Open in CodeFlow