[skottie] Fix mask difference
Difference [1]: The mask is added to the masks above it in the stacking order. In areas where the mask does not overlap the masks above it, the mask operates as it would alone on the layer. In areas where the mask overlaps the masks above it, the influence of the mask is subtracted from the masks above it. ^ sure sounds like XOR [1] https://helpx.adobe.com/after-effects/using/alpha-channels-masks-mattes.html#mask_modes Bug: skia:10502 TBR= Change-Id: I8aea937224cfadce54c4fc1d014b63d00efdbec4 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/303025 Reviewed-by: Florin Malita <fmalita@google.com> Commit-Queue: Florin Malita <fmalita@google.com>
This commit is contained in:
parent
14982c8e15
commit
cd11a51a11
@ -47,7 +47,7 @@ const MaskInfo* GetMaskInfo(char mode) {
|
||||
static constexpr MaskInfo k_sub_info =
|
||||
{ SkBlendMode::kSrcIn , sksg::Merge::Mode::kIntersect , true };
|
||||
static constexpr MaskInfo k_dif_info =
|
||||
{ SkBlendMode::kDifference, sksg::Merge::Mode::kDifference, false };
|
||||
{ SkBlendMode::kXor , sksg::Merge::Mode::kXOR , false };
|
||||
|
||||
switch (mode) {
|
||||
case 'a': return &k_add_info;
|
||||
|
Loading…
Reference in New Issue
Block a user