#pragma once #include #include #include #include #include #include #include #include "Typedef.hh" #include "Board.hh" namespace TTT { class App { private: int m_WindowWidth; int m_WindowHeight; int m_Close; int m_GridHeight; int m_GridWidth; SDL_Window* m_Window; SDL_Renderer* m_Renderer; SDL_Surface* m_Surface; std::map m_Textures; std::vector>> m_Grid; std::shared_ptr m_Board; public: App(int width, int height); void DrawToGridCell(TEXTURE textureId, int x, int y); void DrawGrid(); void UpdateGridHover(int x, int y); void GridRenderCopy(); ~App(); }; } // namespace TTT