summaryrefslogtreecommitdiff
path: root/src/render/OpenGL.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/OpenGL.cpp')
-rw-r--r--src/render/OpenGL.cpp14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp
index 38672353..373add64 100644
--- a/src/render/OpenGL.cpp
+++ b/src/render/OpenGL.cpp
@@ -443,17 +443,17 @@ void CHyprOpenGLImpl::renderTextureInternalWithDamage(const CTexture& tex, wlr_b
glUniform1f(shader->alpha, alpha / 255.f);
glUniform1i(shader->discardOpaque, (int)discardOpaque);
- // round is in px
- // so we need to do some maf
+ wlr_box transformedBox;
+ wlr_box_transform(&transformedBox, pBox, wlr_output_transform_invert(m_RenderData.pMonitor->transform),
+ m_RenderData.pMonitor->vecTransformedSize.x, m_RenderData.pMonitor->vecTransformedSize.y);
- const auto TOPLEFT = Vector2D(round, round);
- const auto BOTTOMRIGHT = Vector2D(pBox->width - round, pBox->height - round);
- const auto FULLSIZE = Vector2D(pBox->width, pBox->height);
+ const auto TOPLEFT = Vector2D(transformedBox.x, transformedBox.y);
+ const auto FULLSIZE = Vector2D(transformedBox.width, transformedBox.height);
static auto *const PMULTISAMPLEEDGES = &g_pConfigManager->getConfigValuePtr("decoration:multisample_edges")->intValue;
// Rounded corners
- glUniform2f(shader->topLeft, pBox->x, pBox->y);
- glUniform2f(shader->fullSize, pBox->width, pBox->height);
+ glUniform2f(shader->topLeft, TOPLEFT.x, TOPLEFT.y);
+ glUniform2f(shader->fullSize, FULLSIZE.x ,FULLSIZE.y);
glUniform1f(shader->radius, round);
glUniform1i(shader->primitiveMultisample, (int)(*PMULTISAMPLEEDGES == 1 && round != 0 && !noAA));