diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-05-29 12:27:45 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-05-29 12:27:45 +0200 |
| commit | d0ff0c0990db230999cc918f1d6230c4a18d08c8 (patch) | |
| tree | c4fa1342fc535ca5882a54c9253c84dd72cc32ef /src/events/Monitors.cpp | |
| parent | fdb3f610e564c644ab0fc7fd154562258350084a (diff) | |
Added basic monitor transforms, has bugs
blur doesnt work on transformed outputs
full damage tracking issues
Diffstat (limited to 'src/events/Monitors.cpp')
| -rw-r--r-- | src/events/Monitors.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp index 0ef780d9..3acea781 100644 --- a/src/events/Monitors.cpp +++ b/src/events/Monitors.cpp @@ -191,7 +191,7 @@ void Events::listener_monitorFrame(void* owner, void* data) { // if we have no tracking or full tracking, invalidate the entire monitor if (DTMODE == DAMAGE_TRACKING_NONE || DTMODE == DAMAGE_TRACKING_MONITOR) { - pixman_region32_union_rect(&damage, &damage, 0, 0, (int)PMONITOR->vecPixelSize.x, (int)PMONITOR->vecPixelSize.y); + pixman_region32_union_rect(&damage, &damage, 0, 0, (int)PMONITOR->vecTransformedSize.x, (int)PMONITOR->vecTransformedSize.y); pixman_region32_copy(&g_pHyprOpenGL->m_rOriginalDamageRegion, &damage); } else { @@ -246,10 +246,10 @@ void Events::listener_monitorFrame(void* owner, void* data) { pixman_region32_init(&frameDamage); const auto TRANSFORM = wlr_output_transform_invert(PMONITOR->output->transform); - wlr_region_transform(&frameDamage, &PMONITOR->damage->current, TRANSFORM, (int)PMONITOR->vecPixelSize.x, (int)PMONITOR->vecPixelSize.y); + wlr_region_transform(&frameDamage, &PMONITOR->damage->current, TRANSFORM, (int)PMONITOR->vecTransformedSize.x, (int)PMONITOR->vecTransformedSize.y); if (DTMODE == DAMAGE_TRACKING_NONE || DTMODE == DAMAGE_TRACKING_MONITOR) - pixman_region32_union_rect(&frameDamage, &frameDamage, 0, 0, (int)PMONITOR->vecPixelSize.x, (int)PMONITOR->vecPixelSize.y); + pixman_region32_union_rect(&frameDamage, &frameDamage, 0, 0, (int)PMONITOR->vecTransformedSize.x, (int)PMONITOR->vecTransformedSize.y); wlr_output_set_damage(PMONITOR->output, &frameDamage); pixman_region32_fini(&frameDamage); |
