]> git.localhorst.tv Git - blank.git/blobdiff - src/app/Application.hpp
display frame counter
[blank.git] / src / app / Application.hpp
index c8236ffbf27a72281364c87a69454103845a358a..97cac73805b5ddad01c194e2f22d023830869d36 100644 (file)
@@ -1,14 +1,19 @@
 #ifndef BLANK_APP_APPLICATION_HPP_
 #define BLANK_APP_APPLICATION_HPP_
 
+#include "Assets.hpp"
+#include "FrameCounter.hpp"
 #include "init.hpp"
 #include "RandomWalk.hpp"
+#include "../graphics/BlendedSprite.hpp"
 #include "../graphics/BlockLighting.hpp"
 #include "../graphics/Camera.hpp"
 #include "../graphics/DirectionalLighting.hpp"
 #include "../ui/Interface.hpp"
 #include "../world/World.hpp"
 
+#include <SDL.h>
+
 
 namespace blank {
 
@@ -31,6 +36,7 @@ public:
 
        /// run until user quits
        void Run();
+       /// evaluate a single frame of dt milliseconds
        void Loop(int dt);
 
        /// run for n frames
@@ -40,8 +46,12 @@ public:
        /// run for n frames, assuming t milliseconds for each
        void RunS(size_t n, size_t t);
 
+       /// 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
        void Render();
 
        static Entity &MakeTestEntity(World &);
@@ -49,12 +59,17 @@ public:
 private:
        InitSDL init_sdl;
        InitIMG init_img;
+       InitTTF init_ttf;
        InitGL init_gl;
        Window window;
        GLContext ctx;
        InitGLEW init_glew;
+       Assets assets;
+       FrameCounter counter;
+
        BlockLighting chunk_prog;
        DirectionalLighting entity_prog;
+       BlendedSprite sprite_prog;
 
        Camera cam;
        World world;