diff options
Diffstat (limited to 'src/render/pass/RectPassElement.cpp')
| -rw-r--r-- | src/render/pass/RectPassElement.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/render/pass/RectPassElement.cpp b/src/render/pass/RectPassElement.cpp index aa024577..cd354844 100644 --- a/src/render/pass/RectPassElement.cpp +++ b/src/render/pass/RectPassElement.cpp @@ -33,5 +33,13 @@ std::optional<CBox> CRectPassElement::boundingBox() { } CRegion CRectPassElement::opaqueRegion() { - return data.color.a >= 1.F ? boundingBox()->expand(-data.round) : CRegion{}; + if (data.color.a < 1.F) + return CRegion{}; + + CRegion rg = boundingBox()->expand(-data.round); + + if (!data.clipBox.empty()) + rg.intersect(data.clipBox); + + return rg; } |
