#include #include #include namespace kurator { namespace engine { static auto viewport() -> Point; Point Camera::to_world(const Point& screen) const { return (screen - viewport().scale(0.5)).scale(1.0 / scale) + offset; } Point Camera::to_screen(const Point& world) const { return (world - offset).scale(scale) + viewport().scale(0.5); } Point Camera::top_left() const { return to_world({0.0, 0.0}); } Point Camera::center() const { return to_world(viewport().scale(0.5)); } Point Camera::bottom_right() const { return to_world(viewport()); } Point viewport() { return {static_cast(GetScreenWidth()), static_cast(GetScreenHeight())}; } } // namespace engine } // namespace kurator