From 6ec16fdcdaf0ffa377db492a9d7d92bdd89044d9 Mon Sep 17 00:00:00 2001 From: vaxerski <43317083+vaxerski@users.noreply.github.com> Date: Wed, 29 Jun 2022 14:15:08 +0200 Subject: [PATCH] damage drag and drop --- src/managers/input/InputManager.cpp | 5 ++++- src/render/Renderer.cpp | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/managers/input/InputManager.cpp b/src/managers/input/InputManager.cpp index 85767e69..fe51c494 100644 --- a/src/managers/input/InputManager.cpp +++ b/src/managers/input/InputManager.cpp @@ -568,9 +568,12 @@ void CInputManager::updateDragIcon() { switch (g_pInputManager->m_sDrag.dragIcon->drag->grab_type) { case WLR_DRAG_GRAB_KEYBOARD: break; - case WLR_DRAG_GRAB_KEYBOARD_POINTER: + case WLR_DRAG_GRAB_KEYBOARD_POINTER: { + wlr_box box = {g_pInputManager->m_sDrag.pos.x - 2, g_pInputManager->m_sDrag.pos.y - 2, g_pInputManager->m_sDrag.dragIcon->surface->current.width + 4, g_pInputManager->m_sDrag.dragIcon->surface->current.height + 4}; + g_pHyprRenderer->damageBox(&box); g_pInputManager->m_sDrag.pos = g_pInputManager->getMouseCoordsInternal(); break; + } default: break; } diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index b1ecde71..731674d6 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -627,6 +627,9 @@ void CHyprRenderer::renderDragIcon(SMonitor* pMonitor, timespec* time) { renderdata.h = g_pInputManager->m_sDrag.dragIcon->surface->current.height; wlr_surface_for_each_surface(g_pInputManager->m_sDrag.dragIcon->surface, renderSurface, &renderdata); + + wlr_box box = {g_pInputManager->m_sDrag.pos.x - 2, g_pInputManager->m_sDrag.pos.y - 2, g_pInputManager->m_sDrag.dragIcon->surface->current.width + 4, g_pInputManager->m_sDrag.dragIcon->surface->current.height + 4}; + g_pHyprRenderer->damageBox(&box); } DAMAGETRACKINGMODES CHyprRenderer::damageTrackingModeFromStr(const std::string& mode) {