input: simplify mouseMoveUnified a tad

This commit is contained in:
Vaxry 2025-12-16 15:55:54 +00:00
parent beb1b578e8
commit c94a981711
Signed by: vaxry
GPG key ID: 665806380871D640

View file

@ -350,12 +350,15 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus, bool mouse, st
const auto BOX = HLSurface->getSurfaceBoxGlobal(); const auto BOX = HLSurface->getSurfaceBoxGlobal();
if (BOX) { if (BOX) {
const auto PWINDOW = HLSurface->view()->type() == Desktop::View::VIEW_TYPE_WINDOW ? dynamicPointerCast<Desktop::View::CWindow>(HLSurface->view()) : nullptr; const auto PWINDOW = Desktop::View::CWindow::fromView(HLSurface->view());
const auto LS = Desktop::View::CLayerSurface::fromView(HLSurface->view());
surfacePos = BOX->pos(); surfacePos = BOX->pos();
pFoundLayerSurface =
HLSurface->view()->type() == Desktop::View::VIEW_TYPE_LAYER_SURFACE ? dynamicPointerCast<Desktop::View::CLayerSurface>(HLSurface->view()) : nullptr; if (PWINDOW)
if (!pFoundLayerSurface) pFoundWindow = PWINDOW;
pFoundWindow = !PWINDOW || PWINDOW->isHidden() ? Desktop::focusState()->window() : PWINDOW; else if (LS)
pFoundLayerSurface = LS;
} else // reset foundSurface, find one normally } else // reset foundSurface, find one normally
foundSurface = nullptr; foundSurface = nullptr;
} else // reset foundSurface, find one normally } else // reset foundSurface, find one normally
@ -520,13 +523,6 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus, bool mouse, st
Vector2D surfaceLocal = surfacePos == Vector2D(-1337, -1337) ? surfaceCoords : mouseCoords - surfacePos; Vector2D surfaceLocal = surfacePos == Vector2D(-1337, -1337) ? surfaceCoords : mouseCoords - surfacePos;
if (pFoundWindow && !pFoundWindow->m_isX11 && surfacePos != Vector2D(-1337, -1337)) {
// calc for oversized windows... fucking bullshit.
CBox geom = pFoundWindow->m_xdgSurface->m_current.geometry;
surfaceLocal = mouseCoords - surfacePos + geom.pos();
}
if (pFoundWindow && pFoundWindow->m_isX11) // for x11 force scale zero if (pFoundWindow && pFoundWindow->m_isX11) // for x11 force scale zero
surfaceLocal = surfaceLocal * pFoundWindow->m_X11SurfaceScaledBy; surfaceLocal = surfaceLocal * pFoundWindow->m_X11SurfaceScaledBy;