#pragma once

#include <input/input.h>

#include <flecs.h>
#include <glm/glm.hpp>

class GLFWwindow;

namespace Window {

struct WindowModule
{
    WindowModule(flecs::world& world);
};

struct Window
{};

struct PrimaryWindow
{
    flecs::entity window;
};

struct CursorPosition
{
    double x;
    double y;
};

struct LogicalSize
{
    int width;
    int height;
};

struct PhysicalSize
{
    int width;
    int height;
};

flecs::entity spawn_window(flecs::world& world);

} // namespace Window
