diff --git a/src/render/pass/RectPassElement.cpp b/src/render/pass/RectPassElement.cpp index aa0245771..cd3548444 100644 --- a/src/render/pass/RectPassElement.cpp +++ b/src/render/pass/RectPassElement.cpp @@ -33,5 +33,13 @@ std::optional 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; }