//
// Created by sebastian on 07.02.26.
//

#ifndef INPUTMANAGER_H
#define INPUTMANAGER_H
#define GLFW_INCLUDE_NONE
#include "GLFW/glfw3.h"
#include "glm/vec2.hpp"


class InputManager {
public:
    static bool isKeyPressed(int keycode);

    static glm::vec2 getMousePosition();
    static glm::vec2 getMousePositionNormalized();
    glm::vec2 getMouseDelta();

    static bool isMouseButtonDown(int button);
    static bool isMouseButtonPressed(int button);
    static bool isMouseButtonReleased(int button);

    static void update();

private:
    static bool current[GLFW_MOUSE_BUTTON_LAST];
    static bool previous[GLFW_MOUSE_BUTTON_LAST];

};



#endif //INPUTMANAGER_H
