summaryrefslogtreecommitdiff
path: root/src/render/pass/TextureMatteElement.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/render/pass/TextureMatteElement.cpp')
-rw-r--r--src/render/pass/TextureMatteElement.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/render/pass/TextureMatteElement.cpp b/src/render/pass/TextureMatteElement.cpp
new file mode 100644
index 00000000..5aed1c9a
--- /dev/null
+++ b/src/render/pass/TextureMatteElement.cpp
@@ -0,0 +1,25 @@
+#include "TextureMatteElement.hpp"
+#include "../OpenGL.hpp"
+
+CTextureMatteElement::CTextureMatteElement(const CTextureMatteElement::STextureMatteData& data_) : data(data_) {
+ ;
+}
+
+void CTextureMatteElement::draw(const CRegion& damage) {
+ if (data.disableTransformAndModify) {
+ g_pHyprOpenGL->setMonitorTransformEnabled(true);
+ g_pHyprOpenGL->setRenderModifEnabled(false);
+ g_pHyprOpenGL->renderTextureMatte(data.tex, &data.box, *data.fb);
+ g_pHyprOpenGL->setRenderModifEnabled(true);
+ g_pHyprOpenGL->setMonitorTransformEnabled(false);
+ } else
+ g_pHyprOpenGL->renderTextureMatte(data.tex, &data.box, *data.fb);
+}
+
+bool CTextureMatteElement::needsLiveBlur() {
+ return false;
+}
+
+bool CTextureMatteElement::needsPrecomputeBlur() {
+ return false;
+} \ No newline at end of file