X-Git-Url: https://git.localhorst.tv/?a=blobdiff_plain;ds=inline;f=src%2Fapp%2FApplication.hpp;h=636b82e85899c389a7f69437a001495b638ec428;hb=7c2a8b8285278b8a3077b311d82f05ea0463a96e;hp=a3c62769164d9f5d7277aff0fb456caae0f5e1d2;hpb=282d731ea8f10342efa82012028de7043b3dd639;p=blank.git diff --git a/src/app/Application.hpp b/src/app/Application.hpp index a3c6276..636b82e 100644 --- a/src/app/Application.hpp +++ b/src/app/Application.hpp @@ -1,14 +1,17 @@ #ifndef BLANK_APP_APPLICATION_HPP_ #define BLANK_APP_APPLICATION_HPP_ +#include "Assets.hpp" +#include "FrameCounter.hpp" #include "init.hpp" #include "RandomWalk.hpp" -#include "../graphics/BlockLighting.hpp" -#include "../graphics/Camera.hpp" -#include "../graphics/DirectionalLighting.hpp" +#include "../audio/Audio.hpp" +#include "../graphics/Viewport.hpp" #include "../ui/Interface.hpp" #include "../world/World.hpp" +#include + namespace blank { @@ -25,6 +28,7 @@ public: }; explicit Application(const Config &); + ~Application(); Application(const Application &) = delete; Application &operator =(const Application &) = delete; @@ -43,6 +47,7 @@ public: /// process all events in SDL's queue void HandleEvents(); + void Handle(const SDL_WindowEvent &); /// integrate to the next step with dt milliseconds passed void Update(int dt); /// push the current state to display @@ -51,17 +56,12 @@ public: static Entity &MakeTestEntity(World &); private: - InitSDL init_sdl; - InitIMG init_img; - InitTTF init_ttf; - InitGL init_gl; - Window window; - GLContext ctx; - InitGLEW init_glew; - BlockLighting chunk_prog; - DirectionalLighting entity_prog; - - Camera cam; + Init init; + Viewport viewport; + Assets assets; + Audio audio; + FrameCounter counter; + World world; Interface interface;