summaryrefslogtreecommitdiff
path: root/gfx/window.h
diff options
context:
space:
mode:
authorDan Goodliffe <dan@randomdan.homeip.net>2021-01-17 23:35:24 +0000
committerDan Goodliffe <dan@randomdan.homeip.net>2021-01-17 23:35:24 +0000
commitf7d2eea22957d75a34654a1b78ea64e7761ef4b8 (patch)
tree47442233d2b884dcee2be02a351b706993c1863a /gfx/window.h
parentBig reshuffle (diff)
downloadilt-f7d2eea22957d75a34654a1b78ea64e7761ef4b8.tar.bz2
ilt-f7d2eea22957d75a34654a1b78ea64e7761ef4b8.tar.xz
ilt-f7d2eea22957d75a34654a1b78ea64e7761ef4b8.zip
Split window and display (application) classes
Diffstat (limited to 'gfx/window.h')
-rw-r--r--gfx/window.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/gfx/window.h b/gfx/window.h
new file mode 100644
index 0000000..3ac583f
--- /dev/null
+++ b/gfx/window.h
@@ -0,0 +1,26 @@
+#ifndef DISPLAY_INCLUDED_H
+#define DISPLAY_INCLUDED_H
+
+#include "ptr.hpp"
+#include <SDL2/SDL.h>
+#include <special_members.hpp>
+#include <string>
+#include <type_traits>
+
+class Window {
+public:
+ Window(int width, int height, const std::string & title);
+ ~Window() = default;
+
+ NO_COPY(Window);
+ NO_MOVE(Window);
+
+ void Clear(float r, float g, float b, float a) const;
+ void SwapBuffers() const;
+
+private:
+ wrapped_ptr<SDL_Window> m_window;
+ wrapped_ptr<std::remove_pointer_t<SDL_GLContext>> m_glContext;
+};
+
+#endif