mirror of
https://github.com/hyprwm/Hyprland
synced 2025-12-20 04:30:12 +01:00
input: simplify mouseMoveUnified a tad
This commit is contained in:
parent
beb1b578e8
commit
c94a981711
1 changed files with 8 additions and 12 deletions
|
|
@ -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;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue