1 #ifndef MSP_GAMEVIEW_APPLICATION_H_
2 #define MSP_GAMEVIEW_APPLICATION_H_
4 #include <msp/core/application.h>
5 #include <msp/game/director.h>
6 #include <msp/gl/device.h>
7 #include <msp/gl/windowview.h>
8 #include <msp/graphics/display.h>
9 #include <msp/graphics/window.h>
10 #include "presenter.h"
12 namespace Msp::GameView {
14 template<typename T, typename R>
15 class Application: public Msp::RegisteredApplication<T>
18 using ResourcesType = R;
21 Msp::Graphics::Display display;
22 Msp::Graphics::Window window;
24 ResourcesType resources;
25 Msp::Game::Director director;
26 GL::WindowView gl_view;
37 template<typename T, typename R>
38 Application<T, R>::Application():
39 window(display, 1920, 1080),
43 presenter(director, gl_view)
45 window.signal_close.connect(sigc::bind(sigc::mem_fun(this, &Application::exit), 0));
48 template<typename T, typename R>
49 int Application<T, R>::main()
52 return Msp::Application::main();
55 template<typename T, typename R>
56 void Application<T, R>::tick()
62 } // namespace Msp::GameView