mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-23 00:45:58 +01:00
fixup LS fs-v1 calcs
This commit is contained in:
parent
7b05133af0
commit
1dde751da4
2 changed files with 3 additions and 11 deletions
|
@ -309,10 +309,10 @@ void Events::listener_commitLayerSurface(void* owner, void* data) {
|
||||||
layersurface->position = Vector2D(layersurface->geometry.x, layersurface->geometry.y);
|
layersurface->position = Vector2D(layersurface->geometry.x, layersurface->geometry.y);
|
||||||
|
|
||||||
// update geom if it changed
|
// update geom if it changed
|
||||||
if (layersurface->layerSurface->surface->current.scale == 1 && PMONITOR->scale != 1.f) {
|
if (layersurface->layerSurface->surface->current.scale == 1 && PMONITOR->scale != 1.f && layersurface->layerSurface->surface->current.viewport.has_dst) {
|
||||||
// fractional scaling. Dirty hack.
|
// fractional scaling. Dirty hack.
|
||||||
layersurface->geometry = {layersurface->geometry.x, layersurface->geometry.y, (int)(layersurface->layerSurface->surface->current.width / PMONITOR->scale),
|
layersurface->geometry = {layersurface->geometry.x, layersurface->geometry.y, (int)(layersurface->layerSurface->surface->current.viewport.dst_width),
|
||||||
(int)(layersurface->layerSurface->surface->current.height / PMONITOR->scale)};
|
(int)(layersurface->layerSurface->surface->current.viewport.dst_height)};
|
||||||
} else {
|
} else {
|
||||||
// this is because some apps like e.g. rofi-lbonn can't fucking use the protocol correctly.
|
// this is because some apps like e.g. rofi-lbonn can't fucking use the protocol correctly.
|
||||||
layersurface->geometry = {layersurface->geometry.x, layersurface->geometry.y, (int)layersurface->layerSurface->surface->current.width,
|
layersurface->geometry = {layersurface->geometry.x, layersurface->geometry.y, (int)layersurface->layerSurface->surface->current.width,
|
||||||
|
|
|
@ -596,14 +596,6 @@ void CHyprRenderer::calculateUVForSurface(CWindow* pWindow, wlr_surface* pSurfac
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const auto DESTVP = Vector2D{pSurface->current.viewport.dst_width, pSurface->current.viewport.dst_height};
|
|
||||||
|
|
||||||
if (DESTVP != Vector2D{} && !pWindow /* Layersurface. TODO: is this correct? */) {
|
|
||||||
const auto DESTSCALE = DESTVP / Vector2D(pSurface->buffer->texture->width, pSurface->buffer->texture->height);
|
|
||||||
uvTL = uvTL * DESTSCALE;
|
|
||||||
uvBR = uvBR * DESTSCALE;
|
|
||||||
}
|
|
||||||
|
|
||||||
g_pHyprOpenGL->m_RenderData.primarySurfaceUVTopLeft = uvTL;
|
g_pHyprOpenGL->m_RenderData.primarySurfaceUVTopLeft = uvTL;
|
||||||
g_pHyprOpenGL->m_RenderData.primarySurfaceUVBottomRight = uvBR;
|
g_pHyprOpenGL->m_RenderData.primarySurfaceUVBottomRight = uvBR;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue