mirror of
https://github.com/hyprwm/hyprland-plugins.git
synced 2025-05-12 21:30:37 +01:00
Co-authored-by: Zebra2711 <zebra2711@users.noreply.github.com>
This commit is contained in:
parent
fcf1c2ae6f
commit
eab6921631
14 changed files with 50 additions and 50 deletions
|
@ -7,7 +7,7 @@ CBorderPPPassElement::CBorderPPPassElement(const CBorderPPPassElement::SBorderPP
|
|||
}
|
||||
|
||||
void CBorderPPPassElement::draw(const CRegion& damage) {
|
||||
data.deco->drawPass(g_pHyprOpenGL->m_RenderData.pMonitor.lock(), data.a);
|
||||
data.deco->drawPass(g_pHyprOpenGL->m_renderData.pMonitor.lock(), data.a);
|
||||
}
|
||||
|
||||
bool CBorderPPPassElement::needsLiveBlur() {
|
||||
|
|
|
@ -8,8 +8,8 @@
|
|||
#include "globals.hpp"
|
||||
|
||||
CBordersPlusPlus::CBordersPlusPlus(PHLWINDOW pWindow) : IHyprWindowDecoration(pWindow), m_pWindow(pWindow) {
|
||||
m_vLastWindowPos = pWindow->m_realPosition->value();
|
||||
m_vLastWindowSize = pWindow->m_realSize->value();
|
||||
m_lastWindowPos = pWindow->m_realPosition->value();
|
||||
m_lastWindowSize = pWindow->m_realSize->value();
|
||||
}
|
||||
|
||||
CBordersPlusPlus::~CBordersPlusPlus() {
|
||||
|
@ -73,7 +73,7 @@ void CBordersPlusPlus::draw(PHLMONITOR pMonitor, const float& a) {
|
|||
CBorderPPPassElement::SBorderPPData data;
|
||||
data.deco = this;
|
||||
|
||||
g_pHyprRenderer->m_sRenderPass.add(makeShared<CBorderPPPassElement>(data));
|
||||
g_pHyprRenderer->m_renderPass.add(makeShared<CBorderPPPassElement>(data));
|
||||
}
|
||||
|
||||
void CBordersPlusPlus::drawPass(PHLMONITOR pMonitor, const float& a) {
|
||||
|
@ -143,7 +143,7 @@ void CBordersPlusPlus::drawPass(PHLMONITOR pMonitor, const float& a) {
|
|||
|
||||
m_seExtents = {{fullThickness, fullThickness}, {fullThickness, fullThickness}};
|
||||
|
||||
m_bLastRelativeBox = CBox{0, 0, m_vLastWindowSize.x, m_vLastWindowSize.y}.addExtents(m_seExtents);
|
||||
m_bLastRelativeBox = CBox{0, 0, m_lastWindowSize.x, m_lastWindowSize.y}.addExtents(m_seExtents);
|
||||
|
||||
if (fullThickness != m_fLastThickness) {
|
||||
m_fLastThickness = fullThickness;
|
||||
|
@ -156,13 +156,13 @@ eDecorationType CBordersPlusPlus::getDecorationType() {
|
|||
}
|
||||
|
||||
void CBordersPlusPlus::updateWindow(PHLWINDOW pWindow) {
|
||||
m_vLastWindowPos = pWindow->m_realPosition->value();
|
||||
m_vLastWindowSize = pWindow->m_realSize->value();
|
||||
m_lastWindowPos = pWindow->m_realPosition->value();
|
||||
m_lastWindowSize = pWindow->m_realSize->value();
|
||||
|
||||
damageEntire();
|
||||
}
|
||||
|
||||
void CBordersPlusPlus::damageEntire() {
|
||||
CBox dm = m_bLastRelativeBox.copy().translate(m_vLastWindowPos).expand(2);
|
||||
CBox dm = m_bLastRelativeBox.copy().translate(m_lastWindowPos).expand(2);
|
||||
g_pHyprRenderer->damageBox(dm);
|
||||
}
|
||||
|
|
|
@ -37,8 +37,8 @@ class CBordersPlusPlus : public IHyprWindowDecoration {
|
|||
CBox m_bLastRelativeBox;
|
||||
CBox m_bAssignedGeometry;
|
||||
|
||||
Vector2D m_vLastWindowPos;
|
||||
Vector2D m_vLastWindowSize;
|
||||
Vector2D m_lastWindowPos;
|
||||
Vector2D m_lastWindowSize;
|
||||
|
||||
double m_fLastThickness = 0;
|
||||
|
||||
|
|
|
@ -60,5 +60,5 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) {
|
|||
}
|
||||
|
||||
APICALL EXPORT void PLUGIN_EXIT() {
|
||||
g_pHyprRenderer->m_sRenderPass.removeAllOfType("CBorderPPPassElement");
|
||||
g_pHyprRenderer->m_renderPass.removeAllOfType("CBorderPPPassElement");
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ CBarPassElement::CBarPassElement(const CBarPassElement::SBarData& data_) : data(
|
|||
}
|
||||
|
||||
void CBarPassElement::draw(const CRegion& damage) {
|
||||
data.deco->renderPass(g_pHyprOpenGL->m_RenderData.pMonitor.lock(), data.a);
|
||||
data.deco->renderPass(g_pHyprOpenGL->m_renderData.pMonitor.lock(), data.a);
|
||||
}
|
||||
|
||||
bool CBarPassElement::needsLiveBlur() {
|
||||
|
@ -24,7 +24,7 @@ bool CBarPassElement::needsLiveBlur() {
|
|||
|
||||
std::optional<CBox> CBarPassElement::boundingBox() {
|
||||
// Temporary fix: expand the bar bb a bit, otherwise occlusion gets too aggressive.
|
||||
return data.deco->assignedBoxGlobal().translate(-g_pHyprOpenGL->m_RenderData.pMonitor->m_position).expand(10);
|
||||
return data.deco->assignedBoxGlobal().translate(-g_pHyprOpenGL->m_renderData.pMonitor->m_position).expand(10);
|
||||
}
|
||||
|
||||
bool CBarPassElement::needsPrecomputeBlur() {
|
||||
|
|
|
@ -269,7 +269,7 @@ void CHyprBar::renderText(SP<CTexture> out, const std::string& text, const CHypr
|
|||
// copy the data to an OpenGL texture we have
|
||||
const auto DATA = cairo_image_surface_get_data(CAIROSURFACE);
|
||||
out->allocate();
|
||||
glBindTexture(GL_TEXTURE_2D, out->m_iTexID);
|
||||
glBindTexture(GL_TEXTURE_2D, out->m_texID);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
|
||||
|
@ -358,7 +358,7 @@ void CHyprBar::renderBarTitle(const Vector2D& bufferSize, const float scale) {
|
|||
// copy the data to an OpenGL texture we have
|
||||
const auto DATA = cairo_image_surface_get_data(CAIROSURFACE);
|
||||
m_pTextTex->allocate();
|
||||
glBindTexture(GL_TEXTURE_2D, m_pTextTex->m_iTexID);
|
||||
glBindTexture(GL_TEXTURE_2D, m_pTextTex->m_texID);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
|
||||
|
@ -426,7 +426,7 @@ void CHyprBar::renderBarButtons(const Vector2D& bufferSize, const float scale) {
|
|||
// copy the data to an OpenGL texture we have
|
||||
const auto DATA = cairo_image_surface_get_data(CAIROSURFACE);
|
||||
m_pButtonsTex->allocate();
|
||||
glBindTexture(GL_TEXTURE_2D, m_pButtonsTex->m_iTexID);
|
||||
glBindTexture(GL_TEXTURE_2D, m_pButtonsTex->m_texID);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
|
||||
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
|
||||
|
||||
|
@ -467,7 +467,7 @@ void CHyprBar::renderBarButtonsText(CBox* barBox, const float scale, const float
|
|||
bool hovering = VECINRECT(COORDS, currentPos.x, currentPos.y, currentPos.x + button.size + **PBARBUTTONPADDING, currentPos.y + button.size);
|
||||
noScaleOffset += **PBARBUTTONPADDING + button.size;
|
||||
|
||||
if (button.iconTex->m_iTexID == 0 /* icon is not rendered */ && !button.icon.empty()) {
|
||||
if (button.iconTex->m_texID == 0 /* icon is not rendered */ && !button.icon.empty()) {
|
||||
// render icon
|
||||
const Vector2D BUFSIZE = {scaledButtonSize, scaledButtonSize};
|
||||
auto fgcol = button.userfg ? button.fgcol : (button.bgcol.r + button.bgcol.g + button.bgcol.b < 1) ? CHyprColor(0xFFFFFFFF) : CHyprColor(0xFF000000);
|
||||
|
@ -475,7 +475,7 @@ void CHyprBar::renderBarButtonsText(CBox* barBox, const float scale, const float
|
|||
renderText(button.iconTex, button.icon, fgcol, BUFSIZE, scale, button.size * 0.62);
|
||||
}
|
||||
|
||||
if (button.iconTex->m_iTexID == 0)
|
||||
if (button.iconTex->m_texID == 0)
|
||||
continue;
|
||||
|
||||
CBox pos = {barBox->x + (BUTTONSRIGHT ? barBox->width - offset - scaledButtonSize : offset), barBox->y + (barBox->height - scaledButtonSize) / 2.0, scaledButtonSize,
|
||||
|
@ -504,7 +504,7 @@ void CHyprBar::draw(PHLMONITOR pMonitor, const float& a) {
|
|||
return;
|
||||
|
||||
auto data = CBarPassElement::SBarData{this, a};
|
||||
g_pHyprRenderer->m_sRenderPass.add(makeShared<CBarPassElement>(data));
|
||||
g_pHyprRenderer->m_renderPass.add(makeShared<CBarPassElement>(data));
|
||||
}
|
||||
|
||||
void CHyprBar::renderPass(PHLMONITOR pMonitor, const float& a) {
|
||||
|
@ -589,7 +589,7 @@ void CHyprBar::renderPass(PHLMONITOR pMonitor, const float& a) {
|
|||
g_pHyprOpenGL->renderRect(titleBarBox, color, scaledRounding, m_pWindow->roundingPower());
|
||||
|
||||
// render title
|
||||
if (**PENABLETITLE && (m_szLastTitle != PWINDOW->m_title || m_bWindowSizeChanged || m_pTextTex->m_iTexID == 0 || m_bTitleColorChanged)) {
|
||||
if (**PENABLETITLE && (m_szLastTitle != PWINDOW->m_title || m_bWindowSizeChanged || m_pTextTex->m_texID == 0 || m_bTitleColorChanged)) {
|
||||
m_szLastTitle = PWINDOW->m_title;
|
||||
renderBarTitle(BARBUF, pMonitor->m_scale);
|
||||
}
|
||||
|
|
|
@ -164,5 +164,5 @@ APICALL EXPORT void PLUGIN_EXIT() {
|
|||
for (auto& m : g_pCompositor->m_monitors)
|
||||
m->m_scheduledRecalc = true;
|
||||
|
||||
g_pHyprRenderer->m_sRenderPass.removeAllOfType("CBarPassElement");
|
||||
g_pHyprRenderer->m_renderPass.removeAllOfType("CBarPassElement");
|
||||
}
|
||||
|
|
|
@ -230,5 +230,5 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) {
|
|||
}
|
||||
|
||||
APICALL EXPORT void PLUGIN_EXIT() {
|
||||
g_pHyprRenderer->m_sRenderPass.removeAllOfType("COverviewPassElement");
|
||||
g_pHyprRenderer->m_renderPass.removeAllOfType("COverviewPassElement");
|
||||
}
|
||||
|
|
|
@ -149,7 +149,7 @@ COverview::COverview(PHLWORKSPACE startedOn_, bool swipe_) : startedOn(startedOn
|
|||
image.box = {(i % SIDE_LENGTH) * tileRenderSize.x + (i % SIDE_LENGTH) * GAP_WIDTH, (i / SIDE_LENGTH) * tileRenderSize.y + (i / SIDE_LENGTH) * GAP_WIDTH, tileRenderSize.x,
|
||||
tileRenderSize.y};
|
||||
|
||||
g_pHyprOpenGL->m_RenderData.blockScreenShader = true;
|
||||
g_pHyprOpenGL->m_renderData.blockScreenShader = true;
|
||||
g_pHyprRenderer->endRender();
|
||||
}
|
||||
|
||||
|
@ -238,7 +238,7 @@ void COverview::redrawID(int id, bool forcelowres) {
|
|||
|
||||
auto& image = images[id];
|
||||
|
||||
if (image.fb.m_vSize != monbox.size()) {
|
||||
if (image.fb.m_size != monbox.size()) {
|
||||
image.fb.release();
|
||||
image.fb.alloc(monbox.w, monbox.h, pMonitor->m_output->state->state().drmFormat);
|
||||
}
|
||||
|
@ -274,7 +274,7 @@ void COverview::redrawID(int id, bool forcelowres) {
|
|||
} else
|
||||
g_pHyprRenderer->renderWorkspace(pMonitor.lock(), PWORKSPACE, Time::steadyNow(), monbox);
|
||||
|
||||
g_pHyprOpenGL->m_RenderData.blockScreenShader = true;
|
||||
g_pHyprOpenGL->m_renderData.blockScreenShader = true;
|
||||
g_pHyprRenderer->endRender();
|
||||
|
||||
pMonitor->m_activeSpecialWorkspace = openSpecial;
|
||||
|
@ -381,7 +381,7 @@ void COverview::onWorkspaceChange() {
|
|||
}
|
||||
|
||||
void COverview::render() {
|
||||
g_pHyprRenderer->m_sRenderPass.add(makeShared<COverviewPassElement>());
|
||||
g_pHyprRenderer->m_renderPass.add(makeShared<COverviewPassElement>());
|
||||
}
|
||||
|
||||
void COverview::fullRender() {
|
||||
|
|
|
@ -7,7 +7,7 @@ CTrailPassElement::CTrailPassElement(const CTrailPassElement::STrailData& data_)
|
|||
}
|
||||
|
||||
void CTrailPassElement::draw(const CRegion& damage) {
|
||||
data.deco->renderPass(g_pHyprOpenGL->m_RenderData.pMonitor.lock(), data.a);
|
||||
data.deco->renderPass(g_pHyprOpenGL->m_renderData.pMonitor.lock(), data.a);
|
||||
}
|
||||
|
||||
bool CTrailPassElement::needsLiveBlur() {
|
||||
|
|
|
@ -76,7 +76,7 @@ GLuint CreateProgram(const std::string& vert, const std::string& frag) {
|
|||
int onTick(void* data) {
|
||||
EMIT_HOOK_EVENT("trailTick", nullptr);
|
||||
|
||||
const int TIMEOUT = g_pHyprRenderer->m_pMostHzMonitor ? 1000.0 / g_pHyprRenderer->m_pMostHzMonitor->m_refreshRate : 16;
|
||||
const int TIMEOUT = g_pHyprRenderer->m_mostHzMonitor ? 1000.0 / g_pHyprRenderer->m_mostHzMonitor->m_refreshRate : 16;
|
||||
wl_event_source_timer_update(g_pGlobalState->tick, TIMEOUT);
|
||||
|
||||
return 0;
|
||||
|
@ -137,5 +137,5 @@ APICALL EXPORT PLUGIN_DESCRIPTION_INFO PLUGIN_INIT(HANDLE handle) {
|
|||
|
||||
APICALL EXPORT void PLUGIN_EXIT() {
|
||||
wl_event_source_remove(g_pGlobalState->tick);
|
||||
g_pHyprRenderer->m_sRenderPass.removeAllOfType("CTrailPassElement");
|
||||
g_pHyprRenderer->m_renderPass.removeAllOfType("CTrailPassElement");
|
||||
}
|
||||
|
|
|
@ -32,8 +32,8 @@ void CTrail::onTick() {
|
|||
}
|
||||
|
||||
CTrail::CTrail(PHLWINDOW pWindow) : IHyprWindowDecoration(pWindow), m_pWindow(pWindow) {
|
||||
m_vLastWindowPos = pWindow->m_realPosition->value();
|
||||
m_vLastWindowSize = pWindow->m_realSize->value();
|
||||
m_lastWindowPos = pWindow->m_realPosition->value();
|
||||
m_lastWindowSize = pWindow->m_realSize->value();
|
||||
|
||||
pTickCb = HyprlandAPI::registerCallbackDynamic(PHANDLE, "trailTick", [this](void* self, SCallbackInfo& info, std::any data) { this->onTick(); });
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ void CTrail::draw(PHLMONITOR pMonitor, const float& a) {
|
|||
return;
|
||||
|
||||
auto data = CTrailPassElement::STrailData{this, a};
|
||||
g_pHyprRenderer->m_sRenderPass.add(makeShared<CTrailPassElement>(data));
|
||||
g_pHyprRenderer->m_renderPass.add(makeShared<CTrailPassElement>(data));
|
||||
}
|
||||
|
||||
void CTrail::renderPass(PHLMONITOR pMonitor, const float& a) {
|
||||
|
@ -126,10 +126,10 @@ void CTrail::renderPass(PHLMONITOR pMonitor, const float& a) {
|
|||
glStencilFunc(GL_NOTEQUAL, 1, -1);
|
||||
glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE);
|
||||
|
||||
CBox monbox = {0, 0, g_pHyprOpenGL->m_RenderData.pMonitor->m_transformedSize.x, g_pHyprOpenGL->m_RenderData.pMonitor->m_transformedSize.y};
|
||||
CBox monbox = {0, 0, g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.x, g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.y};
|
||||
|
||||
Mat3x3 matrix = g_pHyprOpenGL->m_RenderData.monitorProjection.projectBox(monbox, wlTransformToHyprutils(invertTransform(WL_OUTPUT_TRANSFORM_NORMAL)), monbox.rot);
|
||||
Mat3x3 glMatrix = g_pHyprOpenGL->m_RenderData.projection.copy().multiply(matrix);
|
||||
Mat3x3 matrix = g_pHyprOpenGL->m_renderData.monitorProjection.projectBox(monbox, wlTransformToHyprutils(invertTransform(WL_OUTPUT_TRANSFORM_NORMAL)), monbox.rot);
|
||||
Mat3x3 glMatrix = g_pHyprOpenGL->m_renderData.projection.copy().multiply(matrix);
|
||||
|
||||
g_pHyprOpenGL->blend(true);
|
||||
|
||||
|
@ -254,17 +254,17 @@ void CTrail::renderPass(PHLMONITOR pMonitor, const float& a) {
|
|||
glUniform4f(g_pGlobalState->trailShader.color, COLOR.r, COLOR.g, COLOR.b, COLOR.a);
|
||||
|
||||
CBox transformedBox = monbox;
|
||||
transformedBox.transform(wlTransformToHyprutils(invertTransform(g_pHyprOpenGL->m_RenderData.pMonitor->m_transform)), g_pHyprOpenGL->m_RenderData.pMonitor->m_transformedSize.x,
|
||||
g_pHyprOpenGL->m_RenderData.pMonitor->m_transformedSize.y);
|
||||
transformedBox.transform(wlTransformToHyprutils(invertTransform(g_pHyprOpenGL->m_renderData.pMonitor->m_transform)), g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.x,
|
||||
g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.y);
|
||||
|
||||
glVertexAttribPointer(g_pGlobalState->trailShader.posAttrib, 2, GL_FLOAT, GL_FALSE, 0, (float*)points.data());
|
||||
|
||||
glEnableVertexAttribArray(g_pGlobalState->trailShader.posAttrib);
|
||||
|
||||
if (g_pHyprOpenGL->m_RenderData.clipBox.width != 0 && g_pHyprOpenGL->m_RenderData.clipBox.height != 0) {
|
||||
CRegion damageClip{g_pHyprOpenGL->m_RenderData.clipBox.x, g_pHyprOpenGL->m_RenderData.clipBox.y, g_pHyprOpenGL->m_RenderData.clipBox.width,
|
||||
g_pHyprOpenGL->m_RenderData.clipBox.height};
|
||||
damageClip.intersect(g_pHyprOpenGL->m_RenderData.damage);
|
||||
if (g_pHyprOpenGL->m_renderData.clipBox.width != 0 && g_pHyprOpenGL->m_renderData.clipBox.height != 0) {
|
||||
CRegion damageClip{g_pHyprOpenGL->m_renderData.clipBox.x, g_pHyprOpenGL->m_renderData.clipBox.y, g_pHyprOpenGL->m_renderData.clipBox.width,
|
||||
g_pHyprOpenGL->m_renderData.clipBox.height};
|
||||
damageClip.intersect(g_pHyprOpenGL->m_renderData.damage);
|
||||
|
||||
if (!damageClip.empty()) {
|
||||
for (auto& RECT : damageClip.getRects()) {
|
||||
|
@ -273,7 +273,7 @@ void CTrail::renderPass(PHLMONITOR pMonitor, const float& a) {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
for (auto& RECT : g_pHyprOpenGL->m_RenderData.damage.getRects()) {
|
||||
for (auto& RECT : g_pHyprOpenGL->m_renderData.damage.getRects()) {
|
||||
g_pHyprOpenGL->scissor(&RECT);
|
||||
glDrawArrays(GL_TRIANGLE_STRIP, 0, points.size());
|
||||
}
|
||||
|
@ -329,14 +329,14 @@ void CTrail::updateWindow(PHLWINDOW pWindow) {
|
|||
|
||||
const auto WORKSPACEOFFSET = PWORKSPACE && !pWindow->m_pinned ? PWORKSPACE->m_renderOffset->value() : Vector2D();
|
||||
|
||||
m_vLastWindowPos = pWindow->m_realPosition->value() + WORKSPACEOFFSET;
|
||||
m_vLastWindowSize = pWindow->m_realSize->value();
|
||||
m_lastWindowPos = pWindow->m_realPosition->value() + WORKSPACEOFFSET;
|
||||
m_lastWindowSize = pWindow->m_realSize->value();
|
||||
|
||||
damageEntire();
|
||||
}
|
||||
|
||||
void CTrail::damageEntire() {
|
||||
CBox dm = {(int)(m_vLastWindowPos.x - m_seExtents.topLeft.x), (int)(m_vLastWindowPos.y - m_seExtents.topLeft.y),
|
||||
(int)(m_vLastWindowSize.x + m_seExtents.topLeft.x + m_seExtents.bottomRight.x), (int)m_seExtents.topLeft.y};
|
||||
CBox dm = {(int)(m_lastWindowPos.x - m_seExtents.topLeft.x), (int)(m_lastWindowPos.y - m_seExtents.topLeft.y),
|
||||
(int)(m_lastWindowSize.x + m_seExtents.topLeft.x + m_seExtents.bottomRight.x), (int)m_seExtents.topLeft.y};
|
||||
g_pHyprRenderer->damageBox(dm);
|
||||
}
|
||||
|
|
|
@ -58,8 +58,8 @@ class CTrail : public IHyprWindowDecoration {
|
|||
|
||||
PHLWINDOWREF m_pWindow;
|
||||
|
||||
Vector2D m_vLastWindowPos;
|
||||
Vector2D m_vLastWindowSize;
|
||||
Vector2D m_lastWindowPos;
|
||||
Vector2D m_lastWindowSize;
|
||||
|
||||
CBox m_bLastBox = {0};
|
||||
bool m_bNeedsDamage = false;
|
||||
|
|
|
@ -76,13 +76,13 @@ void onRenderStage(eRenderStage stage) {
|
|||
for (auto& bg : bgWindows) {
|
||||
const auto bgw = bg.lock();
|
||||
|
||||
if (bgw->m_monitor != g_pHyprOpenGL->m_RenderData.pMonitor)
|
||||
if (bgw->m_monitor != g_pHyprOpenGL->m_renderData.pMonitor)
|
||||
continue;
|
||||
|
||||
// cant use setHidden cuz that sends suspended and shit too that would be laggy
|
||||
bgw->m_hidden = false;
|
||||
|
||||
g_pHyprRenderer->renderWindow(bgw, g_pHyprOpenGL->m_RenderData.pMonitor.lock(), Time::steadyNow(), false, RENDER_PASS_ALL, false, true);
|
||||
g_pHyprRenderer->renderWindow(bgw, g_pHyprOpenGL->m_renderData.pMonitor.lock(), Time::steadyNow(), false, RENDER_PASS_ALL, false, true);
|
||||
|
||||
bgw->m_hidden = true;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue