#ifndef ENGINE_H
#define ENGINE_H

#include "client/rendering/Renderer.h"
#include "client/rendering/ShaderMatrix.h"
#include "input/Buttons.h"
#include "input/TextInput.h"
#include "utils/Clock.h"
#include "utils/Size.h"
#include "utils/Utils.h"

namespace Engine {
    extern Renderer renderer;
    extern ShaderMatrix matrix;
    extern float lag;

    bool init();
    void run();
    void stop();

    void setTextInput(TextInput* input);
    bool isActiveTextInput(TextInput* input);

    Buttons& getButtons();
    const Size& getSize();
    const Clock& getFrameClock();
    const Clock& getTickClock();
}

#endif