diff options
| author | Vaxry <vaxry@vaxry.net> | 2025-01-26 14:25:49 +0000 |
|---|---|---|
| committer | Vaxry <vaxry@vaxry.net> | 2025-01-26 14:25:54 +0000 |
| commit | 74d0f34cf396f4fc41ee98b000e7d0a4e277c066 (patch) | |
| tree | 462720ec13083af3e7fcd0d7c1fd12f5725bdea5 /src/managers/PointerManager.cpp | |
| parent | 4abf9155ee67ee09116948b1d9efef58c08697d9 (diff) | |
pointer: always scale the cpu cursor to the right size
fixes #9003
Diffstat (limited to 'src/managers/PointerManager.cpp')
| -rw-r--r-- | src/managers/PointerManager.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp index df145f6d..5fdfa553 100644 --- a/src/managers/PointerManager.cpp +++ b/src/managers/PointerManager.cpp @@ -507,6 +507,10 @@ SP<Aquamarine::IBuffer> CPointerManager::renderHWCursorBuffer(SP<CPointerManager const auto TR = state->monitor->transform; + // we need to scale the cursor to the right size, because it might not be (esp with XCursor) + const auto SCALE = texture->m_vSize / (currentCursorImage.size / currentCursorImage.scale * state->monitor->scale); + cairo_matrix_scale(&matrixPre, SCALE.x, SCALE.y); + if (TR) { cairo_matrix_rotate(&matrixPre, M_PI_2 * (double)TR); |
