blob: 042dfd2a405937963de6148a20ae2da5b1541a03 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
#include "RectPassElement.hpp"
#include "../Renderer.hpp"
CRectPassElement::CRectPassElement(const CRectPassElement::SRectData& data_) : m_data(data_) {
;
}
bool CRectPassElement::needsLiveBlur() {
return m_data.color.a < 1.F && !m_data.xray && m_data.blur;
}
bool CRectPassElement::needsPrecomputeBlur() {
return m_data.color.a < 1.F && m_data.xray && m_data.blur;
}
std::optional<CBox> CRectPassElement::boundingBox() {
return m_data.box.copy().scale(1.F / g_pHyprRenderer->m_renderData.pMonitor->m_scale).round();
}
CRegion CRectPassElement::opaqueRegion() {
if (m_data.color.a < 1.F)
return CRegion{};
CRegion rg = boundingBox()->expand(-m_data.round);
if (!m_data.clipBox.empty())
rg.intersect(m_data.clipBox);
return rg;
}
|