summaryrefslogtreecommitdiff
path: root/src/render/pass/TextureMatteElement.cpp
blob: aeeeabc60a04be7ec0e47e62c72b1608724c2c13 (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
#include "TextureMatteElement.hpp"
#include "../OpenGL.hpp"

CTextureMatteElement::CTextureMatteElement(const CTextureMatteElement::STextureMatteData& data_) : m_data(data_) {
    ;
}

void CTextureMatteElement::draw(const CRegion& damage) {
    if (m_data.disableTransformAndModify) {
        g_pHyprOpenGL->pushMonitorTransformEnabled(true);
        g_pHyprOpenGL->setRenderModifEnabled(false);
        g_pHyprOpenGL->renderTextureMatte(m_data.tex, m_data.box, *m_data.fb);
        g_pHyprOpenGL->setRenderModifEnabled(true);
        g_pHyprOpenGL->popMonitorTransformEnabled();
    } else
        g_pHyprOpenGL->renderTextureMatte(m_data.tex, m_data.box, *m_data.fb);
}

bool CTextureMatteElement::needsLiveBlur() {
    return false;
}

bool CTextureMatteElement::needsPrecomputeBlur() {
    return false;
}