summaryrefslogtreecommitdiff
path: root/src/managers/input/InputManager.cpp
diff options
context:
space:
mode:
authorVaxry <vaxry@vaxry.net>2025-12-16 15:55:54 +0000
committerVaxry <vaxry@vaxry.net>2025-12-16 15:55:54 +0000
commitc94a981711009078c9b5f77f685f1483222071b4 (patch)
tree73ed6c57d3228b2520192ad0f5bf1c7dec180568 /src/managers/input/InputManager.cpp
parentbeb1b578e89a21a32f6d0685dc52b7503c9541ff (diff)
input: simplify mouseMoveUnified a tad
Diffstat (limited to 'src/managers/input/InputManager.cpp')
-rw-r--r--src/managers/input/InputManager.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp
index 6908838e..aac6c3ad 100644
--- a/src/managers/input/InputManager.cpp
+++ b/src/managers/input/InputManager.cpp
@@ -350,12 +350,15 @@ void CInputManager::mouseMoveUnified(uint32_t time, bool refocus, bool mouse, st
const auto BOX = HLSurface->getSurfaceBoxGlobal();
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();
- pFoundLayerSurface =
- HLSurface->view()->type() == Desktop::View::VIEW_TYPE_LAYER_SURFACE ? dynamicPointerCast<Desktop::View::CLayerSurface>(HLSurface->view()) : nullptr;
- if (!pFoundLayerSurface)
- pFoundWindow = !PWINDOW || PWINDOW->isHidden() ? Desktop::focusState()->window() : PWINDOW;
+
+ if (PWINDOW)
+ pFoundWindow = PWINDOW;
+ else if (LS)
+ pFoundLayerSurface = LS;
+
} else // reset foundSurface, find one normally
foundSurface = nullptr;
} 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;
- 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
surfaceLocal = surfaceLocal * pFoundWindow->m_X11SurfaceScaledBy;