From 734911c395b1653fc8e59dde4878eda7db0f464e Mon Sep 17 00:00:00 2001 From: Matias Date: Fri, 11 Jul 2025 23:22:39 +0200 Subject: [PATCH] feat: try to tilt the window in the direction of movement, broken! --- src/main.cpp | 33 +++++++++++---------------------- 1 file changed, 11 insertions(+), 22 deletions(-) diff --git a/src/main.cpp b/src/main.cpp index 1baabd9..5916494 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -23,7 +23,7 @@ class CWindowTransformer: public IWindowTransformer { virtual void preWindowRender(CSurfacePassElement::SRenderData* pRenderData); private: - float rot = 0; + float m_rot = 0; Vector2D m_prevPos; }; @@ -50,17 +50,12 @@ void renderTex(CBox monbox, CTexture& tex, float rot) { glUseProgram(shader->program); -#ifndef GLES2 glUniformMatrix3fv( shader->uniformLocations[SHADER_PROJ], 1, GL_TRUE, glMatrix.getMatrix().data() ); -#else - glMatrix.transpose(); - glUniformMatrix3fv(shader->proj, 1, GL_FALSE, glMatrix.getMatrix().data()); -#endif glUniform1i(shader->uniformLocations[SHADER_TEX], 0); const auto TOPLEFT = Vector2D(newBox.x, newBox.y); @@ -113,11 +108,10 @@ void CWindowTransformer::preWindowRender(CSurfacePassElement::SRenderData* pRend auto delta = newPos - m_prevPos; - rot = delta.x * 9999; - rot = 30; - std::println("{}", rot); + m_rot = delta.x * 0.01f; + std::println("delta.x: {}", delta.x); - pRenderData->pos.x += 50; + // pRenderData->pos.x += 50; pRenderData->rounding = 5; pRenderData->alpha = 0.9; @@ -135,16 +129,15 @@ CFramebuffer* CWindowTransformer::transform(CFramebuffer* in) { off.bind(); g_pHyprOpenGL->clear(CHyprColor {0, 0, 0, 0}); - CBox monbox = { - m_prevPos.x, - m_prevPos.y, - g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.x, - g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.y + CBox monbox = {// m_prevPos.x, + // m_prevPos.y, + 0, + 0, + g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.x, + g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.y }; - renderTex(monbox, *in->getTexture(), rot); - - rot += 0.01; + renderTex(monbox, *in->getTexture(), m_rot); return &off; } @@ -155,10 +148,6 @@ void onNewWindow(std::any data) { ptrs.push_back(static_cast( PWINDOW->m_transformers.emplace_back(new CWindowTransformer {}).get() )); - - HyprlandAPI::addNotification(PHANDLE, "onnewwindow", CHyprColor {0.f, 1.f, 1.f, 1.f}, 5000); - std::println("onnewwindow"); - Debug::log(ERR, "Hit the function."); } static SP g_p = nullptr;