summaryrefslogtreecommitdiff
path: root/src/Window.cpp
diff options
context:
space:
mode:
authorvaxerski <43317083+vaxerski@users.noreply.github.com>2023-07-19 16:13:55 +0200
committervaxerski <43317083+vaxerski@users.noreply.github.com>2023-07-19 16:13:55 +0200
commitf4f0f35c5b2725189563fc65e17a0141fd801eb7 (patch)
tree237fe60fb56fbe19c01b3bd785ac26f459a1a019 /src/Window.cpp
parentb08b72358ad549fd066e5be0fc3aa4c9df367607 (diff)
renderer: add occlusion for back layers
Diffstat (limited to 'src/Window.cpp')
-rw-r--r--src/Window.cpp16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Window.cpp b/src/Window.cpp
index 6be36f5e..dc9a64b4 100644
--- a/src/Window.cpp
+++ b/src/Window.cpp
@@ -752,6 +752,14 @@ Vector2D CWindow::middle() {
}
bool CWindow::opaque() {
+ if (m_fAlpha.fl() != 1.f || m_fActiveInactiveAlpha.fl() != 1.f)
+ return false;
+
+ const auto PWORKSPACE = g_pCompositor->getWorkspaceByID(m_iWorkspaceID);
+
+ if (PWORKSPACE->m_fAlpha.fl() != 1.f)
+ return false;
+
if (m_bIsX11)
return !m_uSurface.xwayland->has_alpha;
@@ -764,3 +772,11 @@ bool CWindow::opaque() {
return false;
}
+
+float CWindow::rounding() {
+ static auto* const PROUNDING = &g_pConfigManager->getConfigValuePtr("decoration:rounding")->intValue;
+
+ float rounding = m_sAdditionalConfigData.rounding.toUnderlying() == -1 ? *PROUNDING : m_sAdditionalConfigData.rounding.toUnderlying();
+
+ return rounding;
+}