mirror of
https://git.allpurposem.at/mat/WiggleWobble.git
synced 2025-12-23 21:11:29 +01:00
feat: try to tilt the window in the direction of movement, broken!
This commit is contained in:
parent
29b5bd78e4
commit
734911c395
33
src/main.cpp
33
src/main.cpp
@ -23,7 +23,7 @@ class CWindowTransformer: public IWindowTransformer {
|
|||||||
virtual void preWindowRender(CSurfacePassElement::SRenderData* pRenderData);
|
virtual void preWindowRender(CSurfacePassElement::SRenderData* pRenderData);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
float rot = 0;
|
float m_rot = 0;
|
||||||
Vector2D m_prevPos;
|
Vector2D m_prevPos;
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -50,17 +50,12 @@ void renderTex(CBox monbox, CTexture& tex, float rot) {
|
|||||||
|
|
||||||
glUseProgram(shader->program);
|
glUseProgram(shader->program);
|
||||||
|
|
||||||
#ifndef GLES2
|
|
||||||
glUniformMatrix3fv(
|
glUniformMatrix3fv(
|
||||||
shader->uniformLocations[SHADER_PROJ],
|
shader->uniformLocations[SHADER_PROJ],
|
||||||
1,
|
1,
|
||||||
GL_TRUE,
|
GL_TRUE,
|
||||||
glMatrix.getMatrix().data()
|
glMatrix.getMatrix().data()
|
||||||
);
|
);
|
||||||
#else
|
|
||||||
glMatrix.transpose();
|
|
||||||
glUniformMatrix3fv(shader->proj, 1, GL_FALSE, glMatrix.getMatrix().data());
|
|
||||||
#endif
|
|
||||||
glUniform1i(shader->uniformLocations[SHADER_TEX], 0);
|
glUniform1i(shader->uniformLocations[SHADER_TEX], 0);
|
||||||
|
|
||||||
const auto TOPLEFT = Vector2D(newBox.x, newBox.y);
|
const auto TOPLEFT = Vector2D(newBox.x, newBox.y);
|
||||||
@ -113,11 +108,10 @@ void CWindowTransformer::preWindowRender(CSurfacePassElement::SRenderData* pRend
|
|||||||
|
|
||||||
auto delta = newPos - m_prevPos;
|
auto delta = newPos - m_prevPos;
|
||||||
|
|
||||||
rot = delta.x * 9999;
|
m_rot = delta.x * 0.01f;
|
||||||
rot = 30;
|
std::println("delta.x: {}", delta.x);
|
||||||
std::println("{}", rot);
|
|
||||||
|
|
||||||
pRenderData->pos.x += 50;
|
// pRenderData->pos.x += 50;
|
||||||
pRenderData->rounding = 5;
|
pRenderData->rounding = 5;
|
||||||
pRenderData->alpha = 0.9;
|
pRenderData->alpha = 0.9;
|
||||||
|
|
||||||
@ -135,16 +129,15 @@ CFramebuffer* CWindowTransformer::transform(CFramebuffer* in) {
|
|||||||
off.bind();
|
off.bind();
|
||||||
g_pHyprOpenGL->clear(CHyprColor {0, 0, 0, 0});
|
g_pHyprOpenGL->clear(CHyprColor {0, 0, 0, 0});
|
||||||
|
|
||||||
CBox monbox = {
|
CBox monbox = {// m_prevPos.x,
|
||||||
m_prevPos.x,
|
// m_prevPos.y,
|
||||||
m_prevPos.y,
|
0,
|
||||||
g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.x,
|
0,
|
||||||
g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.y
|
g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.x,
|
||||||
|
g_pHyprOpenGL->m_renderData.pMonitor->m_transformedSize.y
|
||||||
};
|
};
|
||||||
|
|
||||||
renderTex(monbox, *in->getTexture(), rot);
|
renderTex(monbox, *in->getTexture(), m_rot);
|
||||||
|
|
||||||
rot += 0.01;
|
|
||||||
|
|
||||||
return &off;
|
return &off;
|
||||||
}
|
}
|
||||||
@ -155,10 +148,6 @@ void onNewWindow(std::any data) {
|
|||||||
ptrs.push_back(static_cast<CWindowTransformer*>(
|
ptrs.push_back(static_cast<CWindowTransformer*>(
|
||||||
PWINDOW->m_transformers.emplace_back(new CWindowTransformer {}).get()
|
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<HOOK_CALLBACK_FN> g_p = nullptr;
|
static SP<HOOK_CALLBACK_FN> g_p = nullptr;
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user