Index

zydeco / 5f524c5

Experiment in graphics programming, C++, OpenGL, simulation techniques.

Latest Commit

{#}TimeHashSubjectAuthor#(+)(-)GPG?
703 Sep 2023 16:015f524c5OpenGL render abstractionsJosh Stockin141G

Blob @ zydeco / include / sdl2 / WindowSDL2.hpp

text/plain891 bytesdownload raw
1#ifndef WINDOW_SDL2_HPP_
2#define WINDOW_SDL2_HPP_
3
4
5#include <cstdint>
6#include <string>
7#include <SDL2/SDL.h>
8
9#include "IWindow.hpp"
10
11
12class WindowSDL2 : public IWindow
13{
14public:
15 WindowSDL2(std::string title, uint64_t window_config_flags);
16 ~WindowSDL2();
17
18 bool Update() override;
19
20 // Basic public interface
21 void SetTitle(std::string new_title) override;
22 void SetFullscreen(bool is_fullscreen) override;
23 void SetSize(uint64_t new_width, uint64_t new_height) override;
24 void SetPosition(uint64_t new_x, uint64_t new_y) override;
25
26 int GetWidth() override;
27 int GetHeight() override;
28
29 void MakeContextCurrent();
30 void MakeNullCurrent();
31
32protected:
33 // Window object info
34 SDL_Window *m_pSdlWindow;
35 SDL_GLContext m_glContextMain;
36 SDL_GLContext m_glContextRender;
37
38 std::string m_windowTitle;
39};
40
41
42#endif /* WINDOW_SDL2_HPP_ */
43