2024-06-28 14:08:13 +02:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <hyprutils/math/Vector2D.hpp>
|
2024-07-02 15:35:37 +02:00
|
|
|
#include "utils.hpp"
|
2024-06-28 14:08:13 +02:00
|
|
|
|
|
|
|
using namespace Hyprutils::Math;
|
|
|
|
|
|
|
|
class IMode {
|
|
|
|
public:
|
|
|
|
/* returns the desired updating strategy for the given mode */
|
|
|
|
virtual EModeUpdate strategy() = 0;
|
|
|
|
/* updates the calculations and returns the new angle */
|
2024-07-02 15:35:37 +02:00
|
|
|
virtual SModeResult update(Vector2D pos) = 0;
|
2024-08-25 22:58:55 +02:00
|
|
|
/* called on warp, an update will be sent afterwards (probably) */
|
|
|
|
virtual void warp(Vector2D old, Vector2D pos) = 0;
|
2024-06-28 14:08:13 +02:00
|
|
|
};
|