mirror of
https://github.com/hyprwm/Hyprland.git
synced 2025-08-19 22:13:49 -07:00
renderpass: use unique ptr instead of shared ptr
lets use unique ptrs instead of refcounting shared ptr when its not needed, use rvalue reference to construct in vector directly.
This commit is contained in:
@@ -271,5 +271,5 @@ void CHyprDebugOverlay::draw() {
|
|||||||
CTexPassElement::SRenderData data;
|
CTexPassElement::SRenderData data;
|
||||||
data.tex = m_texture;
|
data.tex = m_texture;
|
||||||
data.box = {0, 0, PMONITOR->m_pixelSize.x, PMONITOR->m_pixelSize.y};
|
data.box = {0, 0, PMONITOR->m_pixelSize.x, PMONITOR->m_pixelSize.y};
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(std::move(data)));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(std::move(data)));
|
||||||
}
|
}
|
||||||
|
@@ -248,7 +248,7 @@ void CHyprNotificationOverlay::draw(PHLMONITOR pMonitor) {
|
|||||||
data.box = {0, 0, MONSIZE.x, MONSIZE.y};
|
data.box = {0, 0, MONSIZE.x, MONSIZE.y};
|
||||||
data.a = 1.F;
|
data.a = 1.F;
|
||||||
|
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(std::move(data)));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(std::move(data)));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CHyprNotificationOverlay::hasAny() {
|
bool CHyprNotificationOverlay::hasAny() {
|
||||||
|
@@ -208,7 +208,7 @@ void CHyprError::draw() {
|
|||||||
data.box = monbox;
|
data.box = monbox;
|
||||||
data.a = m_fadeOpacity->value();
|
data.a = m_fadeOpacity->value();
|
||||||
|
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(std::move(data)));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(std::move(data)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CHyprError::destroy() {
|
void CHyprError::destroy() {
|
||||||
|
@@ -629,7 +629,7 @@ void CPointerManager::renderSoftwareCursorsFor(PHLMONITOR pMonitor, const Time::
|
|||||||
data.tex = texture;
|
data.tex = texture;
|
||||||
data.box = box.round();
|
data.box = box.round();
|
||||||
|
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(std::move(data)));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(std::move(data)));
|
||||||
|
|
||||||
if (m_currentCursorImage.surface)
|
if (m_currentCursorImage.surface)
|
||||||
m_currentCursorImage.surface->resource()->frame(now);
|
m_currentCursorImage.surface->resource()->frame(now);
|
||||||
|
@@ -814,7 +814,7 @@ void CWLDataDeviceProtocol::renderDND(PHLMONITOR pMonitor, const Time::steady_tp
|
|||||||
CTexPassElement::SRenderData data;
|
CTexPassElement::SRenderData data;
|
||||||
data.tex = m_dnd.dndSurface->m_current.texture;
|
data.tex = m_dnd.dndSurface->m_current.texture;
|
||||||
data.box = box;
|
data.box = box;
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(std::move(data)));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(std::move(data)));
|
||||||
|
|
||||||
CBox damageBox = CBox{surfacePos, m_dnd.dndSurface->m_current.size}.expand(5);
|
CBox damageBox = CBox{surfacePos, m_dnd.dndSurface->m_current.size}.expand(5);
|
||||||
g_pHyprRenderer->damageBox(damageBox);
|
g_pHyprRenderer->damageBox(damageBox);
|
||||||
|
@@ -2120,7 +2120,7 @@ void CHyprOpenGLImpl::preWindowPass() {
|
|||||||
if (!preBlurQueued())
|
if (!preBlurQueued())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CPreBlurElement>());
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CPreBlurElement>());
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CHyprOpenGLImpl::preBlurQueued() {
|
bool CHyprOpenGLImpl::preBlurQueued() {
|
||||||
@@ -2545,7 +2545,7 @@ void CHyprOpenGLImpl::renderMirrored() {
|
|||||||
if (!PFB->isAllocated() || !PFB->getTexture())
|
if (!PFB->isAllocated() || !PFB->getTexture())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CClearPassElement>(CClearPassElement::SClearData{CHyprColor(0, 0, 0, 0)}));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CClearPassElement>(CClearPassElement::SClearData{CHyprColor(0, 0, 0, 0)}));
|
||||||
|
|
||||||
CTexPassElement::SRenderData data;
|
CTexPassElement::SRenderData data;
|
||||||
data.tex = PFB->getTexture();
|
data.tex = PFB->getTexture();
|
||||||
@@ -2556,7 +2556,7 @@ void CHyprOpenGLImpl::renderMirrored() {
|
|||||||
.transform(wlTransformToHyprutils(invertTransform(mirrored->m_transform)))
|
.transform(wlTransformToHyprutils(invertTransform(mirrored->m_transform)))
|
||||||
.translate(-monitor->m_transformedSize / 2.0);
|
.translate(-monitor->m_transformedSize / 2.0);
|
||||||
|
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(std::move(data)));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(std::move(data)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CHyprOpenGLImpl::renderSplash(cairo_t* const CAIRO, cairo_surface_t* const CAIROSURFACE, double offsetY, const Vector2D& size) {
|
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.box = {0, 0, m_renderData.pMonitor->m_transformedSize.x, m_renderData.pMonitor->m_transformedSize.y};
|
||||||
data.flipEndFrame = true;
|
data.flipEndFrame = true;
|
||||||
data.tex = TEXIT->second.getTexture();
|
data.tex = TEXIT->second.getTexture();
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(std::move(data)));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(std::move(data)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -529,7 +529,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T
|
|||||||
CRectPassElement::SRectData data;
|
CRectPassElement::SRectData data;
|
||||||
data.color = CHyprColor(0, 0, 0, *PDIMAROUND * fullAlpha);
|
data.color = CHyprColor(0, 0, 0, *PDIMAROUND * fullAlpha);
|
||||||
data.box = monbox;
|
data.box = monbox;
|
||||||
m_renderPass.add(makeShared<CRectPassElement>(data));
|
m_renderPass.add(makeUnique<CRectPassElement>(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
renderdata.pos.x += pWindow->m_floatingOffset.x;
|
renderdata.pos.x += pWindow->m_floatingOffset.x;
|
||||||
@@ -585,7 +585,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T
|
|||||||
data.blur = true;
|
data.blur = true;
|
||||||
data.blurA = renderdata.fadeAlpha;
|
data.blurA = renderdata.fadeAlpha;
|
||||||
data.xray = g_pHyprOpenGL->shouldUseNewBlurOptimizations(nullptr, pWindow);
|
data.xray = g_pHyprOpenGL->shouldUseNewBlurOptimizations(nullptr, pWindow);
|
||||||
m_renderPass.add(makeShared<CRectPassElement>(data));
|
m_renderPass.add(makeUnique<CRectPassElement>(data));
|
||||||
renderdata.blur = false;
|
renderdata.blur = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -596,7 +596,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T
|
|||||||
renderdata.texture = s->m_current.texture;
|
renderdata.texture = s->m_current.texture;
|
||||||
renderdata.surface = s;
|
renderdata.surface = s;
|
||||||
renderdata.mainSurface = s == pWindow->m_wlSurface->resource();
|
renderdata.mainSurface = s == pWindow->m_wlSurface->resource();
|
||||||
m_renderPass.add(makeShared<CSurfacePassElement>(renderdata));
|
m_renderPass.add(makeUnique<CSurfacePassElement>(renderdata));
|
||||||
renderdata.surfaceCounter++;
|
renderdata.surfaceCounter++;
|
||||||
},
|
},
|
||||||
nullptr);
|
nullptr);
|
||||||
@@ -664,7 +664,7 @@ void CHyprRenderer::renderWindow(PHLWINDOW pWindow, PHLMONITOR pMonitor, const T
|
|||||||
renderdata.texture = s->m_current.texture;
|
renderdata.texture = s->m_current.texture;
|
||||||
renderdata.surface = s;
|
renderdata.surface = s;
|
||||||
renderdata.mainSurface = false;
|
renderdata.mainSurface = false;
|
||||||
m_renderPass.add(makeShared<CSurfacePassElement>(renderdata));
|
m_renderPass.add(makeUnique<CSurfacePassElement>(renderdata));
|
||||||
renderdata.surfaceCounter++;
|
renderdata.surfaceCounter++;
|
||||||
},
|
},
|
||||||
data);
|
data);
|
||||||
@@ -703,7 +703,7 @@ void CHyprRenderer::renderLayer(PHLLS pLayer, PHLMONITOR pMonitor, const Time::s
|
|||||||
CRectPassElement::SRectData data;
|
CRectPassElement::SRectData data;
|
||||||
data.box = {0, 0, g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.x, g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.y};
|
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());
|
data.color = CHyprColor(0, 0, 0, *PDIMAROUND * pLayer->m_alpha->value());
|
||||||
m_renderPass.add(makeShared<CRectPassElement>(data));
|
m_renderPass.add(makeUnique<CRectPassElement>(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (pLayer->m_fadingOut) {
|
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.texture = s->m_current.texture;
|
||||||
renderdata.surface = s;
|
renderdata.surface = s;
|
||||||
renderdata.mainSurface = s == pLayer->m_surface->resource();
|
renderdata.mainSurface = s == pLayer->m_surface->resource();
|
||||||
m_renderPass.add(makeShared<CSurfacePassElement>(renderdata));
|
m_renderPass.add(makeUnique<CSurfacePassElement>(renderdata));
|
||||||
renderdata.surfaceCounter++;
|
renderdata.surfaceCounter++;
|
||||||
},
|
},
|
||||||
&renderdata);
|
&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.texture = popup->m_wlSurface->resource()->m_current.texture;
|
||||||
renderdata.surface = popup->m_wlSurface->resource();
|
renderdata.surface = popup->m_wlSurface->resource();
|
||||||
renderdata.mainSurface = false;
|
renderdata.mainSurface = false;
|
||||||
m_renderPass.add(makeShared<CSurfacePassElement>(renderdata));
|
m_renderPass.add(makeUnique<CSurfacePassElement>(renderdata));
|
||||||
renderdata.surfaceCounter++;
|
renderdata.surfaceCounter++;
|
||||||
},
|
},
|
||||||
&renderdata);
|
&renderdata);
|
||||||
@@ -797,7 +797,7 @@ void CHyprRenderer::renderIMEPopup(CInputPopup* pPopup, PHLMONITOR pMonitor, con
|
|||||||
renderdata.texture = s->m_current.texture;
|
renderdata.texture = s->m_current.texture;
|
||||||
renderdata.surface = s;
|
renderdata.surface = s;
|
||||||
renderdata.mainSurface = s == SURF;
|
renderdata.mainSurface = s == SURF;
|
||||||
m_renderPass.add(makeShared<CSurfacePassElement>(renderdata));
|
m_renderPass.add(makeUnique<CSurfacePassElement>(renderdata));
|
||||||
renderdata.surfaceCounter++;
|
renderdata.surfaceCounter++;
|
||||||
},
|
},
|
||||||
&renderdata);
|
&renderdata);
|
||||||
@@ -818,7 +818,7 @@ void CHyprRenderer::renderSessionLockSurface(WP<SSessionLockSurface> pSurface, P
|
|||||||
renderdata.texture = s->m_current.texture;
|
renderdata.texture = s->m_current.texture;
|
||||||
renderdata.surface = s;
|
renderdata.surface = s;
|
||||||
renderdata.mainSurface = s == pSurface->surface->surface();
|
renderdata.mainSurface = s == pSurface->surface->surface();
|
||||||
m_renderPass.add(makeShared<CSurfacePassElement>(renderdata));
|
m_renderPass.add(makeUnique<CSurfacePassElement>(renderdata));
|
||||||
renderdata.surfaceCounter++;
|
renderdata.surfaceCounter++;
|
||||||
},
|
},
|
||||||
&renderdata);
|
&renderdata);
|
||||||
@@ -851,11 +851,11 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA
|
|||||||
RENDERMODIFDATA.modifs.emplace_back(std::make_pair<>(SRenderModifData::eRenderModifType::RMOD_TYPE_SCALE, scale));
|
RENDERMODIFDATA.modifs.emplace_back(std::make_pair<>(SRenderModifData::eRenderModifType::RMOD_TYPE_SCALE, scale));
|
||||||
|
|
||||||
if (!RENDERMODIFDATA.modifs.empty())
|
if (!RENDERMODIFDATA.modifs.empty())
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CRendererHintsPassElement>(CRendererHintsPassElement::SData{RENDERMODIFDATA}));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CRendererHintsPassElement>(CRendererHintsPassElement::SData{RENDERMODIFDATA}));
|
||||||
|
|
||||||
CScopeGuard x([&RENDERMODIFDATA] {
|
CScopeGuard x([&RENDERMODIFDATA] {
|
||||||
if (!RENDERMODIFDATA.modifs.empty()) {
|
if (!RENDERMODIFDATA.modifs.empty()) {
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CRendererHintsPassElement>(CRendererHintsPassElement::SData{SRenderModifData{}}));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CRendererHintsPassElement>(CRendererHintsPassElement::SData{SRenderModifData{}}));
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
@@ -863,7 +863,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA
|
|||||||
// allow rendering without a workspace. In this case, just render layers.
|
// allow rendering without a workspace. In this case, just render layers.
|
||||||
|
|
||||||
if (*PRENDERTEX /* inverted cfg flag */)
|
if (*PRENDERTEX /* inverted cfg flag */)
|
||||||
m_renderPass.add(makeShared<CClearPassElement>(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)}));
|
m_renderPass.add(makeUnique<CClearPassElement>(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)}));
|
||||||
else
|
else
|
||||||
g_pHyprOpenGL->clearWithTex(); // will apply the hypr "wallpaper"
|
g_pHyprOpenGL->clearWithTex(); // will apply the hypr "wallpaper"
|
||||||
|
|
||||||
@@ -888,7 +888,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA
|
|||||||
|
|
||||||
if (!*PXPMODE) {
|
if (!*PXPMODE) {
|
||||||
if (*PRENDERTEX /* inverted cfg flag */)
|
if (*PRENDERTEX /* inverted cfg flag */)
|
||||||
m_renderPass.add(makeShared<CClearPassElement>(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)}));
|
m_renderPass.add(makeUnique<CClearPassElement>(CClearPassElement::SClearData{CHyprColor(*PBACKGROUNDCOLOR)}));
|
||||||
else
|
else
|
||||||
g_pHyprOpenGL->clearWithTex(); // will apply the hypr "wallpaper"
|
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.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));
|
data.color = CHyprColor(0, 0, 0, *PDIMSPECIAL * (ANIMOUT ? (1.0 - SPECIALANIMPROGRS) : SPECIALANIMPROGRS));
|
||||||
|
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CRectPassElement>(data));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CRectPassElement>(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (*PBLURSPECIAL && *PBLUR) {
|
if (*PBLURSPECIAL && *PBLUR) {
|
||||||
@@ -929,7 +929,7 @@ void CHyprRenderer::renderAllClientsForWorkspace(PHLMONITOR pMonitor, PHLWORKSPA
|
|||||||
data.blur = true;
|
data.blur = true;
|
||||||
data.blurA = (ANIMOUT ? (1.0 - SPECIALANIMPROGRS) : SPECIALANIMPROGRS);
|
data.blurA = (ANIMOUT ? (1.0 - SPECIALANIMPROGRS) : SPECIALANIMPROGRS);
|
||||||
|
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CRectPassElement>(data));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CRectPassElement>(data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1374,7 +1374,7 @@ void CHyprRenderer::renderMonitor(PHLMONITOR pMonitor, bool commit) {
|
|||||||
CRectPassElement::SRectData data;
|
CRectPassElement::SRectData data;
|
||||||
data.box = {0, 0, pMonitor->m_transformedSize.x, pMonitor->m_transformedSize.y};
|
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);
|
data.color = CHyprColor(1.0, 0.0, 1.0, 100.0 / 255.0);
|
||||||
m_renderPass.add(makeShared<CRectPassElement>(data));
|
m_renderPass.add(makeUnique<CRectPassElement>(data));
|
||||||
damageBlinkCleanup = 1;
|
damageBlinkCleanup = 1;
|
||||||
} else if (*PDAMAGEBLINK) {
|
} else if (*PDAMAGEBLINK) {
|
||||||
damageBlinkCleanup++;
|
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.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());
|
data.color = CHyprColor(0, 0, 0, *PDIMAROUND * pWindow->m_alpha->value());
|
||||||
|
|
||||||
m_renderPass.add(makeShared<CRectPassElement>(data));
|
m_renderPass.add(makeUnique<CRectPassElement>(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (shouldBlur(pWindow)) {
|
if (shouldBlur(pWindow)) {
|
||||||
@@ -2487,7 +2487,7 @@ void CHyprRenderer::renderSnapshot(PHLWINDOW pWindow) {
|
|||||||
data.roundingPower = pWindow->roundingPower();
|
data.roundingPower = pWindow->roundingPower();
|
||||||
data.xray = pWindow->m_windowData.xray.valueOr(false);
|
data.xray = pWindow->m_windowData.xray.valueOr(false);
|
||||||
|
|
||||||
m_renderPass.add(makeShared<CRectPassElement>(std::move(data)));
|
m_renderPass.add(makeUnique<CRectPassElement>(std::move(data)));
|
||||||
}
|
}
|
||||||
|
|
||||||
CTexPassElement::SRenderData data;
|
CTexPassElement::SRenderData data;
|
||||||
@@ -2497,7 +2497,7 @@ void CHyprRenderer::renderSnapshot(PHLWINDOW pWindow) {
|
|||||||
data.a = pWindow->m_alpha->value();
|
data.a = pWindow->m_alpha->value();
|
||||||
data.damage = fakeDamage;
|
data.damage = fakeDamage;
|
||||||
|
|
||||||
m_renderPass.add(makeShared<CTexPassElement>(std::move(data)));
|
m_renderPass.add(makeUnique<CTexPassElement>(std::move(data)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CHyprRenderer::renderSnapshot(PHLLS pLayer) {
|
void CHyprRenderer::renderSnapshot(PHLLS pLayer) {
|
||||||
@@ -2539,7 +2539,7 @@ void CHyprRenderer::renderSnapshot(PHLLS pLayer) {
|
|||||||
if (SHOULD_BLUR)
|
if (SHOULD_BLUR)
|
||||||
data.ignoreAlpha = pLayer->m_ignoreAlpha ? pLayer->m_ignoreAlphaValue : 0.01F /* ignore the alpha 0 regions */;
|
data.ignoreAlpha = pLayer->m_ignoreAlpha ? pLayer->m_ignoreAlphaValue : 0.01F /* ignore the alpha 0 regions */;
|
||||||
|
|
||||||
m_renderPass.add(makeShared<CTexPassElement>(std::move(data)));
|
m_renderPass.add(makeUnique<CTexPassElement>(std::move(data)));
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CHyprRenderer::shouldBlur(PHLLS ls) {
|
bool CHyprRenderer::shouldBlur(PHLLS ls) {
|
||||||
|
@@ -89,7 +89,7 @@ void CHyprBorderDecoration::draw(PHLMONITOR pMonitor, float const& a) {
|
|||||||
data.lerp = m_window->m_borderFadeAnimationProgress->value();
|
data.lerp = m_window->m_borderFadeAnimationProgress->value();
|
||||||
}
|
}
|
||||||
|
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CBorderPassElement>(data));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CBorderPassElement>(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
eDecorationType CHyprBorderDecoration::getDecorationType() {
|
eDecorationType CHyprBorderDecoration::getDecorationType() {
|
||||||
|
@@ -90,7 +90,7 @@ void CHyprDropShadowDecoration::draw(PHLMONITOR pMonitor, float const& a) {
|
|||||||
CShadowPassElement::SShadowData data;
|
CShadowPassElement::SShadowData data;
|
||||||
data.deco = this;
|
data.deco = this;
|
||||||
data.a = a;
|
data.a = a;
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CShadowPassElement>(data));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CShadowPassElement>(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CHyprDropShadowDecoration::render(PHLMONITOR pMonitor, float const& a) {
|
void CHyprDropShadowDecoration::render(PHLMONITOR pMonitor, float const& a) {
|
||||||
|
@@ -172,21 +172,21 @@ void CHyprGroupBarDecoration::draw(PHLMONITOR pMonitor, float const& a) {
|
|||||||
double first = rect.w - (*PROUNDING * 2);
|
double first = rect.w - (*PROUNDING * 2);
|
||||||
rectdata.round = *PROUNDING;
|
rectdata.round = *PROUNDING;
|
||||||
rectdata.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}};
|
rectdata.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}};
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CRectPassElement>(rectdata));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CRectPassElement>(rectdata));
|
||||||
rectdata.round = 0;
|
rectdata.round = 0;
|
||||||
rectdata.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}};
|
rectdata.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}};
|
||||||
} else if (i == barsToDraw - 1) {
|
} else if (i == barsToDraw - 1) {
|
||||||
double first = *PROUNDING * 2;
|
double first = *PROUNDING * 2;
|
||||||
rectdata.round = 0;
|
rectdata.round = 0;
|
||||||
rectdata.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}};
|
rectdata.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}};
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CRectPassElement>(rectdata));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CRectPassElement>(rectdata));
|
||||||
rectdata.round = *PROUNDING;
|
rectdata.round = *PROUNDING;
|
||||||
rectdata.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}};
|
rectdata.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}};
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
rectdata.round = *PROUNDING;
|
rectdata.round = *PROUNDING;
|
||||||
}
|
}
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CRectPassElement>(rectdata));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CRectPassElement>(rectdata));
|
||||||
}
|
}
|
||||||
|
|
||||||
rect = {ASSIGNEDBOX.x + xoff - pMonitor->m_position.x + m_window->m_floatingOffset.x,
|
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);
|
double first = rect.w - (*PGRADIENTROUNDING * 2);
|
||||||
data.round = *PGRADIENTROUNDING;
|
data.round = *PGRADIENTROUNDING;
|
||||||
data.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}};
|
data.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}};
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(data));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(data));
|
||||||
data.round = 0;
|
data.round = 0;
|
||||||
data.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}};
|
data.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}};
|
||||||
} else if (i == barsToDraw - 1) {
|
} else if (i == barsToDraw - 1) {
|
||||||
double first = *PGRADIENTROUNDING * 2;
|
double first = *PGRADIENTROUNDING * 2;
|
||||||
data.round = 0;
|
data.round = 0;
|
||||||
data.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}};
|
data.clipBox = CBox{rect.pos() - Vector2D{PADDING, 0.F}, Vector2D{first + PADDING, rect.h}};
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(data));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(data));
|
||||||
data.round = *PGRADIENTROUNDING;
|
data.round = *PGRADIENTROUNDING;
|
||||||
data.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}};
|
data.clipBox = CBox{rect.pos() + Vector2D{first, 0.F}, Vector2D{rect.w - first + PADDING, rect.h}};
|
||||||
}
|
}
|
||||||
} else
|
} else
|
||||||
data.round = *PGRADIENTROUNDING;
|
data.round = *PGRADIENTROUNDING;
|
||||||
}
|
}
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(data));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(data));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -256,7 +256,7 @@ void CHyprGroupBarDecoration::draw(PHLMONITOR pMonitor, float const& a) {
|
|||||||
data.tex = titleTex;
|
data.tex = titleTex;
|
||||||
data.box = rect;
|
data.box = rect;
|
||||||
data.a = a;
|
data.a = a;
|
||||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTexPassElement>(std::move(data)));
|
g_pHyprRenderer->m_renderPass.add(makeUnique<CTexPassElement>(std::move(data)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -18,8 +18,8 @@ bool CRenderPass::single() const {
|
|||||||
return m_passElements.size() == 1;
|
return m_passElements.size() == 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
void CRenderPass::add(SP<IPassElement> el) {
|
void CRenderPass::add(UP<IPassElement>&& el) {
|
||||||
m_passElements.emplace_back(makeShared<SPassElementData>(CRegion{}, el));
|
m_passElements.emplace_back(makeUnique<SPassElementData>(CRegion{}, std::move(el)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void CRenderPass::simplify() {
|
void CRenderPass::simplify() {
|
||||||
|
@@ -11,7 +11,7 @@ class CRenderPass {
|
|||||||
bool empty() const;
|
bool empty() const;
|
||||||
bool single() const;
|
bool single() const;
|
||||||
|
|
||||||
void add(SP<IPassElement> elem);
|
void add(UP<IPassElement>&& elem);
|
||||||
void clear();
|
void clear();
|
||||||
void removeAllOfType(const std::string& type);
|
void removeAllOfType(const std::string& type);
|
||||||
|
|
||||||
@@ -24,11 +24,11 @@ class CRenderPass {
|
|||||||
|
|
||||||
struct SPassElementData {
|
struct SPassElementData {
|
||||||
CRegion elementDamage;
|
CRegion elementDamage;
|
||||||
SP<IPassElement> element;
|
UP<IPassElement> element;
|
||||||
bool discard = false;
|
bool discard = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
std::vector<SP<SPassElementData>> m_passElements;
|
std::vector<UP<SPassElementData>> m_passElements;
|
||||||
|
|
||||||
void simplify();
|
void simplify();
|
||||||
float oneBlurRadius();
|
float oneBlurRadius();
|
||||||
|
Reference in New Issue
Block a user