deco/border: fix damageEntire
This commit is contained in:
parent
c2bed4103c
commit
85c2764f5e
1 changed files with 5 additions and 16 deletions
|
|
@ -117,23 +117,12 @@ void CHyprBorderDecoration::damageEntire() {
|
||||||
if (!validMapped(m_window) || m_window->m_fullscreenState.internal == FSMODE_FULLSCREEN)
|
if (!validMapped(m_window) || m_window->m_fullscreenState.internal == FSMODE_FULLSCREEN)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
auto surfaceBox = m_window->getWindowMainSurfaceBox();
|
const auto GLOBAL_BOX = assignedBoxGlobal();
|
||||||
const auto ROUNDING = m_window->rounding();
|
const auto ROUNDING = m_window->rounding();
|
||||||
const auto ROUNDINGSIZE = ROUNDING - M_SQRT1_2 * ROUNDING + 2;
|
const auto BORDERSIZE = m_window->getRealBorderSize() + 1;
|
||||||
const auto BORDERSIZE = m_window->getRealBorderSize() + 1;
|
|
||||||
|
|
||||||
const auto PWINDOWWORKSPACE = m_window->m_workspace;
|
CRegion borderRegion(GLOBAL_BOX);
|
||||||
if (PWINDOWWORKSPACE && PWINDOWWORKSPACE->m_renderOffset->isBeingAnimated() && !m_window->m_pinned)
|
borderRegion.subtract(GLOBAL_BOX.copy().expand(-(BORDERSIZE + ROUNDING)));
|
||||||
surfaceBox.translate(PWINDOWWORKSPACE->m_renderOffset->value());
|
|
||||||
surfaceBox.translate(m_window->m_floatingOffset);
|
|
||||||
|
|
||||||
CBox surfaceBoxExpandedBorder = surfaceBox;
|
|
||||||
surfaceBoxExpandedBorder.expand(BORDERSIZE);
|
|
||||||
CBox surfaceBoxShrunkRounding = surfaceBox;
|
|
||||||
surfaceBoxShrunkRounding.expand(-ROUNDINGSIZE);
|
|
||||||
|
|
||||||
CRegion borderRegion(surfaceBoxExpandedBorder);
|
|
||||||
borderRegion.subtract(surfaceBoxShrunkRounding);
|
|
||||||
|
|
||||||
for (auto const& m : g_pCompositor->m_monitors) {
|
for (auto const& m : g_pCompositor->m_monitors) {
|
||||||
if (!g_pHyprRenderer->shouldRenderWindow(m_window.lock(), m)) {
|
if (!g_pHyprRenderer->shouldRenderWindow(m_window.lock(), m)) {
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue