summaryrefslogtreecommitdiff
path: root/src/render/pass/RectPassElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/pass/RectPassElement.cpp')
-rw-r--r--src/render/pass/RectPassElement.cpp10
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;
}