mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-22 21:06:01 +01:00
surface: minor fixes for last logicalDamage calc fix
This commit is contained in:
parent
e4790e3f8e
commit
1763566308
2 changed files with 7 additions and 5 deletions
|
@ -57,10 +57,10 @@ CRegion CWLSurface::logicalDamage() const {
|
||||||
damage.transform(m_pWLRSurface->current.transform, m_pWLRSurface->current.buffer_width, m_pWLRSurface->current.buffer_height);
|
damage.transform(m_pWLRSurface->current.transform, m_pWLRSurface->current.buffer_width, m_pWLRSurface->current.buffer_height);
|
||||||
damage.scale(1.0 / m_pWLRSurface->current.scale);
|
damage.scale(1.0 / m_pWLRSurface->current.scale);
|
||||||
|
|
||||||
const auto VPSIZE = getViewporterCorrectedSize() / m_pWLRSurface->current.scale;
|
const auto VPSIZE = getViewporterCorrectedSize();
|
||||||
const auto CORRECTVEC = correctSmallVec();
|
const auto CORRECTVEC = correctSmallVec();
|
||||||
|
|
||||||
damage.scale({VPSIZE.x / m_pWLRSurface->current.width, VPSIZE.y / m_pWLRSurface->current.height});
|
damage.scale({VPSIZE.x / m_pWLRSurface->current.buffer_width, VPSIZE.y / m_pWLRSurface->current.buffer_height});
|
||||||
damage.translate(CORRECTVEC);
|
damage.translate(CORRECTVEC);
|
||||||
|
|
||||||
return damage;
|
return damage;
|
||||||
|
|
|
@ -1588,10 +1588,12 @@ void CHyprRenderer::damageSurface(wlr_surface* pSurface, double x, double y, dou
|
||||||
y += CORRECTION.y;
|
y += CORRECTION.y;
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto WLSURF = CWLSurface::surfaceFromWlr(pSurface);
|
const auto WLSURF = CWLSurface::surfaceFromWlr(pSurface);
|
||||||
if (!WLSURF)
|
CRegion damageBox = WLSURF ? WLSURF->logicalDamage() : CRegion{};
|
||||||
|
if (!WLSURF) {
|
||||||
Debug::log(ERR, "BUG THIS: No CWLSurface for surface in damageSurface!!!");
|
Debug::log(ERR, "BUG THIS: No CWLSurface for surface in damageSurface!!!");
|
||||||
CRegion damageBox = WLSURF ? WLSURF->logicalDamage() : CRegion{&pSurface->buffer_damage};
|
wlr_surface_get_effective_damage(pSurface, damageBox.pixman());
|
||||||
|
}
|
||||||
if (scale != 1.0)
|
if (scale != 1.0)
|
||||||
damageBox.scale(scale);
|
damageBox.scale(scale);
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue