summaryrefslogtreecommitdiff
path: root/src/render/Renderer.cpp
diff options
context:
space:
mode:
authoraphelei <arnaudpecoraro1@gmail.com>2025-07-01 11:33:48 +0200
committerGitHub <noreply@github.com>2025-07-01 11:33:48 +0200
commite9c5594186d7ba935e966751d4d676cda998c34b (patch)
tree2a5ee8d3a6bbbdd11323652910cb74455bd8d887 /src/render/Renderer.cpp
parente827b75e22daeb8e152c6766105b10cb689e10e2 (diff)
renderer: add mouse zoom animations (#10882)
Adds animations for the mouse zoom effect.
Diffstat (limited to 'src/render/Renderer.cpp')
-rw-r--r--src/render/Renderer.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp
index 34347277..f49e2055 100644
--- a/src/render/Renderer.cpp
+++ b/src/render/Renderer.cpp
@@ -1163,13 +1163,14 @@ void CHyprRenderer::renderMonitor(PHLMONITOR pMonitor) {
static auto PDAMAGEBLINK = CConfigValue<Hyprlang::INT>("debug:damage_blink");
static auto PDIRECTSCANOUT = CConfigValue<Hyprlang::INT>("render:direct_scanout");
static auto PVFR = CConfigValue<Hyprlang::INT>("misc:vfr");
- static auto PZOOMFACTOR = CConfigValue<Hyprlang::FLOAT>("cursor:zoom_factor");
static auto PANIMENABLED = CConfigValue<Hyprlang::INT>("animations:enabled");
static auto PFIRSTLAUNCHANIM = CConfigValue<Hyprlang::INT>("animations:first_launch_animation");
static auto PTEARINGENABLED = CConfigValue<Hyprlang::INT>("general:allow_tearing");
static int damageBlinkCleanup = 0; // because double-buffered
+ const float ZOOMFACTOR = pMonitor->m_cursorZoom->value();
+
if (pMonitor->m_pixelSize.x < 1 || pMonitor->m_pixelSize.y < 1) {
Debug::log(ERR, "Refusing to render a monitor because of an invalid pixel size: {}", pMonitor->m_pixelSize);
return;
@@ -1298,16 +1299,16 @@ void CHyprRenderer::renderMonitor(PHLMONITOR pMonitor) {
TRACY_GPU_ZONE("Render");
static bool zoomLock = false;
- if (zoomLock && *PZOOMFACTOR == 1.f) {
+ if (zoomLock && ZOOMFACTOR == 1.f) {
g_pPointerManager->unlockSoftwareAll();
zoomLock = false;
- } else if (!zoomLock && *PZOOMFACTOR != 1.f) {
+ } else if (!zoomLock && ZOOMFACTOR != 1.f) {
g_pPointerManager->lockSoftwareAll();
zoomLock = true;
}
if (pMonitor == g_pCompositor->getMonitorFromCursor())
- g_pHyprOpenGL->m_renderData.mouseZoomFactor = std::clamp(*PZOOMFACTOR, 1.f, INFINITY);
+ g_pHyprOpenGL->m_renderData.mouseZoomFactor = std::clamp(ZOOMFACTOR, 1.f, INFINITY);
else
g_pHyprOpenGL->m_renderData.mouseZoomFactor = 1.f;