project-kyoku/include/tools/mathutils.h

39 lines
750 B
C
Raw Normal View History

#pragma once
#include <SFML/System/Clock.hpp>
using microsec = sf::Int64;
struct Coordinates
{
float x = 0.;
float y = 0.;
constexpr inline Coordinates operator+(const Coordinates& right) const noexcept
{
return {right.x + x, right.y + y};
}
constexpr inline Coordinates operator-(const Coordinates& right) const noexcept
{
return {right.x - x, right.y - y};
}
inline void moveBy(float x, float y) noexcept
{
this->x += x;
this->y += y;
}
inline void moveBy(const Coordinates& right) noexcept
{
this->x += right.x;
this->y += right.y;
}
inline void scale(float factor) noexcept
{
x *= factor;
y *= factor;
}
};