diff --git a/src/debug/HyprDebugOverlay.cpp b/src/debug/HyprDebugOverlay.cpp index 8f79f2fec..572f56a8c 100644 --- a/src/debug/HyprDebugOverlay.cpp +++ b/src/debug/HyprDebugOverlay.cpp @@ -271,5 +271,5 @@ void CHyprDebugOverlay::draw() { CTexPassElement::SRenderData data; data.tex = m_texture; data.box = {0, 0, PMONITOR->m_pixelSize.x, PMONITOR->m_pixelSize.y}; - g_pHyprRenderer->m_renderPass.add(makeShared(std::move(data))); + g_pHyprRenderer->m_renderPass.add(makeUnique(std::move(data))); } diff --git a/src/debug/HyprNotificationOverlay.cpp b/src/debug/HyprNotificationOverlay.cpp index 68f5e3566..1e244446b 100644 --- a/src/debug/HyprNotificationOverlay.cpp +++ b/src/debug/HyprNotificationOverlay.cpp @@ -248,7 +248,7 @@ void CHyprNotificationOverlay::draw(PHLMONITOR pMonitor) { data.box = {0, 0, MONSIZE.x, MONSIZE.y}; data.a = 1.F; - g_pHyprRenderer->m_renderPass.add(makeShared(std::move(data))); + g_pHyprRenderer->m_renderPass.add(makeUnique(std::move(data))); } bool CHyprNotificationOverlay::hasAny() { diff --git a/src/hyprerror/HyprError.cpp b/src/hyprerror/HyprError.cpp index be6a96b90..8b1bc0804 100644 --- a/src/hyprerror/HyprError.cpp +++ b/src/hyprerror/HyprError.cpp @@ -208,7 +208,7 @@ void CHyprError::draw() { data.box = monbox; data.a = m_fadeOpacity->value(); - g_pHyprRenderer->m_renderPass.add(makeShared(std::move(data))); + g_pHyprRenderer->m_renderPass.add(makeUnique(std::move(data))); } void CHyprError::destroy() { diff --git a/src/managers/PointerManager.cpp b/src/managers/PointerManager.cpp index f6b08f1b5..7d6f58e0a 100644 --- a/src/managers/PointerManager.cpp +++ b/src/managers/PointerManager.cpp @@ -629,7 +629,7 @@ void CPointerManager::renderSoftwareCursorsFor(PHLMONITOR pMonitor, const Time:: data.tex = texture; data.box = box.round(); - g_pHyprRenderer->m_renderPass.add(makeShared(std::move(data))); + g_pHyprRenderer->m_renderPass.add(makeUnique(std::move(data))); if (m_currentCursorImage.surface) m_currentCursorImage.surface->resource()->frame(now); diff --git a/src/protocols/core/DataDevice.cpp b/src/protocols/core/DataDevice.cpp index 4435e4c7e..0ede65ed3 100644 --- a/src/protocols/core/DataDevice.cpp +++ b/src/protocols/core/DataDevice.cpp @@ -814,7 +814,7 @@ void CWLDataDeviceProtocol::renderDND(PHLMONITOR pMonitor, const Time::steady_tp CTexPassElement::SRenderData data; data.tex = m_dnd.dndSurface->m_current.texture; data.box = box; - g_pHyprRenderer->m_renderPass.add(makeShared(std::move(data))); + g_pHyprRenderer->m_renderPass.add(makeUnique(std::move(data))); CBox damageBox = CBox{surfacePos, m_dnd.dndSurface->m_current.size}.expand(5); g_pHyprRenderer->damageBox(damageBox); diff --git a/src/render/OpenGL.cpp b/src/render/OpenGL.cpp index 25f5e2912..65d0cf388 100644 --- a/src/render/OpenGL.cpp +++ b/src/render/OpenGL.cpp @@ -2120,7 +2120,7 @@ void CHyprOpenGLImpl::preWindowPass() { if (!preBlurQueued()) return; - g_pHyprRenderer->m_renderPass.add(makeShared()); + g_pHyprRenderer->m_renderPass.add(makeUnique()); } bool CHyprOpenGLImpl::preBlurQueued() { @@ -2545,7 +2545,7 @@ void CHyprOpenGLImpl::renderMirrored() { if (!PFB->isAllocated() || !PFB->getTexture()) return; - g_pHyprRenderer->m_renderPass.add(makeShared(CClearPassElement::SClearData{CHyprColor(0, 0, 0, 0)})); + g_pHyprRenderer->m_renderPass.add(makeUnique(CClearPassElement::SClearData{CHyprColor(0, 0, 0, 0)})); CTexPassElement::SRenderData data; data.tex = PFB->getTexture(); @@ -2556,7 +2556,7 @@ void CHyprOpenGLImpl::renderMirrored() { .transform(wlTransformToHyprutils(invertTransform(mirrored->m_transform))) .translate(-monitor->m_transformedSize / 2.0); - g_pHyprRenderer->m_renderPass.add(makeShared(std::move(data))); + g_pHyprRenderer->m_renderPass.add(makeUnique(std::move(data))); } void CHyprOpenGLImpl::renderSplash(cairo_t* const CAIRO, cairo_surface_t* const CAIROSURFACE, double offsetY, const Vector2D& size) { @@ -2946,7 +2946,7 @@ void CHyprOpenGLImpl::clearWithTex() { data.box = {0, 0, m_renderData.pMonitor->m_transformedSize.x, m_renderData.pMonitor->m_transformedSize.y}; data.flipEndFrame = true; data.tex = TEXIT->second.getTexture(); - g_pHyprRenderer->m_renderPass.add(makeShared(std::move(data))); + g_pHyprRenderer->m_renderPass.add(makeUnique(std::move(data))); } } diff --git a/src/render/Renderer.cpp b/src/render/Renderer.cpp index da52eaef5..78b6fc07f 100644 --- a/src/render/Renderer.cpp +++ b/src/render/Renderer.cpp @@ -529,7 +529,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T CRectPassElement::SRectData data; data.color = CHyprColor(0, 0, 0, *PDIMAROUND * fullAlpha); data.box = monbox; - m_renderPass.add(makeShared(data)); + m_renderPass.add(makeUnique(data)); } renderdata.pos.x += pWindow->m_floatingOffset.x; @@ -585,7 +585,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T data.blur = true; data.blurA = renderdata.fadeAlpha; data.xray = g_pHyprOpenGL->shouldUseNewBlurOptimizations(nullptr, pWindow); - m_renderPass.add(makeShared(data)); + m_renderPass.add(makeUnique(data)); renderdata.blur = false; } @@ -596,7 +596,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T renderdata.texture = s->m_current.texture; renderdata.surface = s; renderdata.mainSurface = s == pWindow->m_wlSurface->resource(); - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, nullptr); @@ -664,7 +664,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T renderdata.texture = s->m_current.texture; renderdata.surface = s; renderdata.mainSurface = false; - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, data); @@ -703,7 +703,7 @@ void CHyprRenderer::renderLayer(PHLLS pLayer, PHLMONITOR pMonitor, const Time::s CRectPassElement::SRectData data; data.box = {0, 0, g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.x, g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.y}; data.color = CHyprColor(0, 0, 0, *PDIMAROUND * pLayer->m_alpha->value()); - m_renderPass.add(makeShared(data)); + m_renderPass.add(makeUnique(data)); } if (pLayer->m_fadingOut) { @@ -741,7 +741,7 @@ void CHyprRenderer::renderLayer(PHLLS pLayer, PHLMONITOR pMonitor, const Time::s renderdata.texture = s->m_current.texture; renderdata.surface = s; renderdata.mainSurface = s == pLayer->m_surface->resource(); - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, &renderdata); @@ -762,7 +762,7 @@ void CHyprRenderer::renderLayer(PHLLS pLayer, PHLMONITOR pMonitor, const Time::s renderdata.texture = popup->m_wlSurface->resource()->m_current.texture; renderdata.surface = popup->m_wlSurface->resource(); renderdata.mainSurface = false; - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, &renderdata); @@ -797,7 +797,7 @@ void CHyprRenderer::renderIMEPopup(CInputPopup* pPopup, PHLMONITOR pMonitor, con renderdata.texture = s->m_current.texture; renderdata.surface = s; renderdata.mainSurface = s == SURF; - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, &renderdata); @@ -818,7 +818,7 @@ void CHyprRenderer::renderSessionLockSurface(WP pSurface, P renderdata.texture = s->m_current.texture; renderdata.surface = s; renderdata.mainSurface = s == pSurface->surface->surface(); - m_renderPass.add(makeShared(renderdata)); + m_renderPass.add(makeUnique(renderdata)); renderdata.surfaceCounter++; }, &renderdata); @@ -851,11 +851,11 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA RENDERMODIFDATA.modifs.emplace_back(std::make_pair<>(SRenderModifData::eRenderModifType::RMOD_TYPE_SCALE, scale)); if (!RENDERMODIFDATA.modifs.empty()) - g_pHyprRenderer->m_renderPass.add(makeShared(CRendererHintsPassElement::SData{RENDERMODIFDATA})); + g_pHyprRenderer->m_renderPass.add(makeUnique(CRendererHintsPassElement::SData{RENDERMODIFDATA})); CScopeGuard x([&RENDERMODIFDATA] { if (!RENDERMODIFDATA.modifs.empty()) { - g_pHyprRenderer->m_renderPass.add(makeShared(CRendererHintsPassElement::SData{SRenderModifData{}})); + g_pHyprRenderer->m_renderPass.add(makeUnique(CRendererHintsPassElement::SData{SRenderModifData{}})); } }); @@ -863,7 +863,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA // allow rendering without a workspace. In this case, just render layers. if (*PRENDERTEX /* inverted cfg flag */) - m_renderPass.add(makeShared(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)})); + m_renderPass.add(makeUnique(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)})); else g_pHyprOpenGL->clearWithTex(); // will apply the hypr "wallpaper" @@ -888,7 +888,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA if (!*PXPMODE) { if (*PRENDERTEX /* inverted cfg flag */) - m_renderPass.add(makeShared(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)})); + m_renderPass.add(makeUnique(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)})); else g_pHyprOpenGL->clearWithTex(); // will apply the hypr "wallpaper" @@ -919,7 +919,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA data.box = {translate.x, translate.y, pMonitor->m_transformedSize.x * scale, pMonitor->m_transformedSize.y * scale}; data.color = CHyprColor(0, 0, 0, *PDIMSPECIAL * (ANIMOUT ? (1.0 - SPECIALANIMPROGRS) : SPECIALANIMPROGRS)); - g_pHyprRenderer->m_renderPass.add(makeShared(data)); + g_pHyprRenderer->m_renderPass.add(makeUnique(data)); } if (*PBLURSPECIAL && *PBLUR) { @@ -929,7 +929,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA data.blur = true; data.blurA = (ANIMOUT ? (1.0 - SPECIALANIMPROGRS) : SPECIALANIMPROGRS); - g_pHyprRenderer->m_renderPass.add(makeShared(data)); + g_pHyprRenderer->m_renderPass.add(makeUnique(data)); } } @@ -1374,7 +1374,7 @@ void CHyprRenderer::renderMonitor(PHLMONITOR pMonitor, bool commit) { CRectPassElement::SRectData data; data.box = {0, 0, pMonitor->m_transformedSize.x, pMonitor->m_transformedSize.y}; data.color = CHyprColor(1.0, 0.0, 1.0, 100.0 / 255.0); - m_renderPass.add(makeShared(data)); + m_renderPass.add(makeUnique(data)); damageBlinkCleanup = 1; } else if (*PDAMAGEBLINK) { damageBlinkCleanup++; @@ -2474,7 +2474,7 @@ void CHyprRenderer::renderSnapshot(PHLWINDOW pWindow) { data.box = {0, 0, g_pHyprOpenGL->m_renderData.pMonitor->m_pixelSize.x, g_pHyprOpenGL->m_renderData.pMonitor->m_pixelSize.y}; data.color = CHyprColor(0, 0, 0, *PDIMAROUND * pWindow->m_alpha->value()); - m_renderPass.add(makeShared(data)); + m_renderPass.add(makeUnique(data)); } if (shouldBlur(pWindow)) { @@ -2487,7 +2487,7 @@ void CHyprRenderer::renderSnapshot(PHLWINDOW pWindow) { data.roundingPower = pWindow->roundingPower(); data.xray = pWindow->m_windowData.xray.valueOr(false); - m_renderPass.add(makeShared(std::move(data))); + m_renderPass.add(makeUnique(std::move(data))); } CTexPassElement::SRenderData data; @@ -2497,7 +2497,7 @@ void CHyprRenderer::renderSnapshot(PHLWINDOW pWindow) { data.a = pWindow->m_alpha->value(); data.damage = fakeDamage; - m_renderPass.add(makeShared(std::move(data))); + m_renderPass.add(makeUnique(std::move(data))); } void CHyprRenderer::renderSnapshot(PHLLS pLayer) { @@ -2539,7 +2539,7 @@ void CHyprRenderer::renderSnapshot(PHLLS pLayer) { if (SHOULD_BLUR) data.ignoreAlpha = pLayer->m_ignoreAlpha ? pLayer->m_ignoreAlphaValue : 0.01F /* ignore the alpha 0 regions */; - m_renderPass.add(makeShared(std::move(data))); + m_renderPass.add(makeUnique(std::move(data))); } bool CHyprRenderer::shouldBlur(PHLLS ls) { diff --git a/src/render/decorations/CHyprBorderDecoration.cpp b/src/render/decorations/CHyprBorderDecoration.cpp index b34c9243c..1ba60f0cd 100644 --- a/src/render/decorations/CHyprBorderDecoration.cpp +++ b/src/render/decorations/CHyprBorderDecoration.cpp @@ -89,7 +89,7 @@ void CHyprBorderDecoration::draw(PHLMONITOR pMonitor, float const& a) { data.lerp = m_window->m_borderFadeAnimationProgress->value(); } - g_pHyprRenderer->m_renderPass.add(makeShared(data)); + g_pHyprRenderer->m_renderPass.add(makeUnique(data)); } eDecorationType CHyprBorderDecoration::getDecorationType() { diff --git a/src/render/decorations/CHyprDropShadowDecoration.cpp b/src/render/decorations/CHyprDropShadowDecoration.cpp index ee52b4f42..fa77a343a 100644 --- a/src/render/decorations/CHyprDropShadowDecoration.cpp +++ b/src/render/decorations/CHyprDropShadowDecoration.cpp @@ -90,7 +90,7 @@ void CHyprDropShadowDecoration::draw(PHLMONITOR pMonitor, float const& a) { CShadowPassElement::SShadowData data; data.deco = this; data.a = a; - g_pHyprRenderer->m_renderPass.add(makeShared(data)); + g_pHyprRenderer->m_renderPass.add(makeUnique(data)); } void CHyprDropShadowDecoration::render(PHLMONITOR pMonitor, float const& a) { diff --git a/src/render/decorations/CHyprGroupBarDecoration.cpp b/src/render/decorations/CHyprGroupBarDecoration.cpp index e577658af..df8731bed 100644 --- a/src/render/decorations/CHyprGroupBarDecoration.cpp +++ b/src/render/decorations/CHyprGroupBarDecoration.cpp @@ -172,21 +172,21 @@ void CHyprGroupBarDecoration::draw(PHLMONITOR pMonitor, float const& a) { double first = rect.w - (*PROUNDING * 2); rectdata.round = *PROUNDING; rectdata.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}}; - g_pHyprRenderer->m_renderPass.add(makeShared(rectdata)); + g_pHyprRenderer->m_renderPass.add(makeUnique(rectdata)); rectdata.round = 0; rectdata.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}}; } else if (i == barsToDraw - 1) { double first = *PROUNDING * 2; rectdata.round = 0; rectdata.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}}; - g_pHyprRenderer->m_renderPass.add(makeShared(rectdata)); + g_pHyprRenderer->m_renderPass.add(makeUnique(rectdata)); rectdata.round = *PROUNDING; rectdata.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}}; } } else rectdata.round = *PROUNDING; } - g_pHyprRenderer->m_renderPass.add(makeShared(rectdata)); + g_pHyprRenderer->m_renderPass.add(makeUnique(rectdata)); } rect = {ASSIGNEDBOX.x + xoff - pMonitor->m_position.x + m_window->m_floatingOffset.x, @@ -212,21 +212,21 @@ void CHyprGroupBarDecoration::draw(PHLMONITOR pMonitor, float const& a) { double first = rect.w - (*PGRADIENTROUNDING * 2); data.round = *PGRADIENTROUNDING; data.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}}; - g_pHyprRenderer->m_renderPass.add(makeShared(data)); + g_pHyprRenderer->m_renderPass.add(makeUnique(data)); data.round = 0; data.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}}; } else if (i == barsToDraw - 1) { double first = *PGRADIENTROUNDING * 2; data.round = 0; data.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}}; - g_pHyprRenderer->m_renderPass.add(makeShared(data)); + g_pHyprRenderer->m_renderPass.add(makeUnique(data)); data.round = *PGRADIENTROUNDING; data.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}}; } } else data.round = *PGRADIENTROUNDING; } - g_pHyprRenderer->m_renderPass.add(makeShared(data)); + g_pHyprRenderer->m_renderPass.add(makeUnique(data)); } } @@ -256,7 +256,7 @@ void CHyprGroupBarDecoration::draw(PHLMONITOR pMonitor, float const& a) { data.tex = titleTex; data.box = rect; data.a = a; - g_pHyprRenderer->m_renderPass.add(makeShared(std::move(data))); + g_pHyprRenderer->m_renderPass.add(makeUnique(std::move(data))); } } diff --git a/src/render/pass/ClearPassElement.hpp b/src/render/pass/ClearPassElement.hpp index ff1615516..067b70942 100644 --- a/src/render/pass/ClearPassElement.hpp +++ b/src/render/pass/ClearPassElement.hpp @@ -22,4 +22,4 @@ class CClearPassElement : public IPassElement { private: SClearData m_data; -}; \ No newline at end of file +}; diff --git a/src/render/pass/Pass.cpp b/src/render/pass/Pass.cpp index 32296ad7f..4ad1d444f 100644 --- a/src/render/pass/Pass.cpp +++ b/src/render/pass/Pass.cpp @@ -18,8 +18,8 @@ bool CRenderPass::single() const { return m_passElements.size() == 1; } -void CRenderPass::add(SP el) { - m_passElements.emplace_back(makeShared(CRegion{}, el)); +void CRenderPass::add(UP&& el) { + m_passElements.emplace_back(makeUnique(CRegion{}, std::move(el))); } void CRenderPass::simplify() { diff --git a/src/render/pass/Pass.hpp b/src/render/pass/Pass.hpp index ac5646892..435b53015 100644 --- a/src/render/pass/Pass.hpp +++ b/src/render/pass/Pass.hpp @@ -11,7 +11,7 @@ class CRenderPass { bool empty() const; bool single() const; - void add(SP elem); + void add(UP&& elem); void clear(); void removeAllOfType(const std::string& type); @@ -24,11 +24,11 @@ class CRenderPass { struct SPassElementData { CRegion elementDamage; - SP element; + UP element; bool discard = false; }; - std::vector> m_passElements; + std::vector> m_passElements; void simplify(); float oneBlurRadius(); diff --git a/src/render/pass/ShadowPassElement.cpp b/src/render/pass/ShadowPassElement.cpp index cccace7ea..45ad18c8f 100644 --- a/src/render/pass/ShadowPassElement.cpp +++ b/src/render/pass/ShadowPassElement.cpp @@ -16,4 +16,4 @@ bool CShadowPassElement::needsLiveBlur() { bool CShadowPassElement::needsPrecomputeBlur() { return false; -} \ No newline at end of file +} diff --git a/src/render/pass/ShadowPassElement.hpp b/src/render/pass/ShadowPassElement.hpp index 7e85342a2..028ac88c7 100644 --- a/src/render/pass/ShadowPassElement.hpp +++ b/src/render/pass/ShadowPassElement.hpp @@ -23,4 +23,4 @@ class CShadowPassElement : public IPassElement { private: SShadowData m_data; -}; \ No newline at end of file +};