handle rest of shadow extents

modified:   src/render/decorations/CHyprDropShadowDecoration.cpp
modified:   src/render/decorations/CHyprGroupBarDecoration.cpp

Signed-off-by: MightyPlaza <123664421+MightyPlaza@users.noreply.github.com>
This commit is contained in:
MightyPlaza 2023-09-13 18:20:20 +01:00
parent ef4dcd55de
commit 59b436445e
No known key found for this signature in database
GPG key ID: 284C27FD27A6DC0D
2 changed files with 6 additions and 9 deletions

View file

@ -114,12 +114,9 @@ void CHyprDropShadowDecoration::draw(CMonitor* pMonitor, float a, const Vector2D
fullBox.y += ((windowBox.height + 2.0 * *PSHADOWSIZE) - NEWSIZE.y) / 2.0; fullBox.y += ((windowBox.height + 2.0 * *PSHADOWSIZE) - NEWSIZE.y) / 2.0;
} }
//m_seExtents = {{m_vLastWindowPos.x - fullBox.x - pMonitor->vecPosition.x + 2, m_vLastWindowPos.y - fullBox.y - pMonitor->vecPosition.y + 2}, m_seExtents.topLeft = {std::max(0, windowBox.x - fullBox.x), std::max(0, windowBox.y - fullBox.y)};
// {fullBox.x + fullBox.width + pMonitor->vecPosition.x - m_vLastWindowPos.x - m_vLastWindowSize.x + 2, m_seExtents.bottomRight = {std::max(0, (fullBox.x + fullBox.width) - (windowBox.x + windowBox.width)),
// fullBox.y + fullBox.height + pMonitor->vecPosition.y - m_vLastWindowPos.y - m_vLastWindowSize.y + 2}}; std::max(0, (fullBox.y + fullBox.height) - (windowBox.y + windowBox.height))};
m_seExtents.topLeft = {*PSHADOWSIZE, *PSHADOWSIZE};
m_seExtents.bottomRight = {*PSHADOWSIZE, *PSHADOWSIZE};
m_seExtents.isReservedArea = false; m_seExtents.isReservedArea = false;
fullBox.x += offset.x; fullBox.x += offset.x;

View file

@ -148,6 +148,7 @@ void CHyprGroupBarDecoration::draw(CMonitor* pMonitor, float a, const Vector2D&
glStencilFunc(GL_NOTEQUAL, 1, -1); glStencilFunc(GL_NOTEQUAL, 1, -1);
glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE); glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
if (backBox.width > 0 && backBox.height > 0)
g_pHyprOpenGL->renderRect(&backBox, color, ROUNDING * pMonitor->scale); g_pHyprOpenGL->renderRect(&backBox, color, ROUNDING * pMonitor->scale);
// cleanup stencil // cleanup stencil
@ -156,10 +157,9 @@ void CHyprGroupBarDecoration::draw(CMonitor* pMonitor, float a, const Vector2D&
glDisable(GL_STENCIL_TEST); glDisable(GL_STENCIL_TEST);
glStencilMask(-1); glStencilMask(-1);
glStencilFunc(GL_ALWAYS, 1, 0xFF); glStencilFunc(GL_ALWAYS, 1, 0xFF);
} else { } else if (backBox.width > 0 && backBox.height > 0)
g_pHyprOpenGL->renderRect(&backBox, color, ROUNDING * pMonitor->scale); g_pHyprOpenGL->renderRect(&backBox, color, ROUNDING * pMonitor->scale);
} }
}
for (int i = 0; i < barsToDraw; ++i) { for (int i = 0; i < barsToDraw; ++i) {