diff options
Diffstat (limited to 'src/managers/PointerManager.cpp')
| -rw-r--r-- | src/managers/PointerManager.cpp | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp index 3e3ece98..bc166825 100644 --- a/src/managers/PointerManager.cpp +++ b/src/managers/PointerManager.cpp @@ -8,6 +8,7 @@ #include "../protocols/core/Compositor.hpp" #include "../protocols/core/Seat.hpp" #include "eventLoop/EventLoopManager.hpp" +#include "../render/pass/TexPassElement.hpp" #include "SeatManager.hpp" #include <cstring> #include <gbm.h> @@ -551,7 +552,15 @@ void CPointerManager::renderSoftwareCursorsFor(PHLMONITOR pMonitor, timespec* no box.x = std::round(box.x); box.y = std::round(box.y); - g_pHyprOpenGL->renderTextureWithDamage(texture, &box, &damage, 1.F, 0, false, false, currentCursorImage.waitTimeline, currentCursorImage.waitPoint); + CTexPassElement::SRenderData data; + data.tex = texture; + data.box = box.round(); + data.syncTimeline = currentCursorImage.waitTimeline; + data.syncPoint = currentCursorImage.waitPoint; + g_pHyprRenderer->m_sRenderPass.add(makeShared<CTexPassElement>(data)); + + currentCursorImage.waitTimeline.reset(); + currentCursorImage.waitPoint = 0; if (currentCursorImage.surface) currentCursorImage.surface->resource()->frame(now); |
