diff options
| author | UjinT34 <41110182+UjinT34@users.noreply.github.com> | 2026-03-11 23:48:48 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-11 20:48:48 +0000 |
| commit | 8662ecba03bb4b4626963c080aa9353a6aa38854 (patch) | |
| tree | ea6bda6a7b14ab674f6d0095193fc7660de6223a /src/render/Renderer.cpp | |
| parent | 0e083e886f02034c56b851649a6c27f55fe85e32 (diff) | |
renderer: fix share window projection (#13695)
Diffstat (limited to 'src/render/Renderer.cpp')
| -rw-r--r-- | src/render/Renderer.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index bf3740da..b79ca13f 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -2129,6 +2129,7 @@ void IHyprRenderer::setProjectionType(eRenderProjectionType projectionType) { case RPT_MONITOR: m_renderData.targetProjection = m_renderData.pMonitor->getTransformMatrix(); break; case RPT_MIRROR: m_renderData.targetProjection = getMirrorProjection(m_renderData.pMonitor); break; case RPT_FB: m_renderData.targetProjection = getFBProjection(m_renderData.pMonitor, m_renderData.fbSize); break; + case RPT_EXPORT: m_renderData.targetProjection = Mat3x3::identity(); break; default: UNREACHABLE(); } } @@ -2140,7 +2141,9 @@ Mat3x3 IHyprRenderer::getBoxProjection(const CBox& box, std::optional<eTransform } Mat3x3 IHyprRenderer::projectBoxToTarget(const CBox& box, std::optional<eTransform> transform) { - return m_renderData.pMonitor->getScaleMatrix().copy().multiply(getBoxProjection(box, transform)); + return (m_renderData.projectionType == RPT_EXPORT ? Mat3x3::outputProjection(m_renderData.fbSize, HYPRUTILS_TRANSFORM_NORMAL) : m_renderData.pMonitor->getScaleMatrix()) + .copy() + .multiply(getBoxProjection(box, transform)); } SP<ITexture> IHyprRenderer::blurMainFramebuffer(float a, CRegion* originalDamage) { |
