WiggleWobble/include/wobblywindow.h
Matias d132a016b0
perf: render windows at 0,0
Also cleaned up includes
2025-07-16 22:40:53 +02:00

30 lines
680 B
C++

#ifndef WW_WOBBLYWINDOW_H
#define WW_WOBBLYWINDOW_H
#include <hyprland/src/Compositor.hpp>
class CWobblyWindow {
struct SParticle {
Vector2D position;
Vector2D velocity;
};
Time::steady_tp m_lastTime {Time::steadyNow()};
public:
// static wobble parameters
static inline float s_springStrength = 500.f;
static inline float s_dampingStrength = 12.f;
static inline float s_drag = 0.4f;
std::vector<SParticle> m_particles;
std::vector<Vector2D> m_targetPositions;
std::optional<Vector2D> m_grabPosition {std::nullopt};
Vector2D m_windowMovement;
CWobblyWindow();
bool step(Time::steady_tp time);
};
#endif