Index

zydeco / 5a717fe

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

Latest Commit

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

Blob @ zydeco / include / IWindow.hpp

text/plain669 bytesdownload raw
1#ifndef IWINDOW_HPP_
2#define IWINDOW_HPP_
3
4
5#include <cstdint>
6#include <string>
7
8#include <SDL2/SDL.h>
9
10#include "IUpdateable.hpp"
11
12
13class IWindow : public IUpdateable
14{
15public:
16 virtual bool Update() = 0;
17
18 // Basic public interface
19 virtual void SetTitle(std::string new_title) = 0;
20 virtual void SetFullscreen(bool is_fullscreen) = 0;
21 virtual void SetSize(uint64_t new_width, uint64_t new_height) = 0;
22 virtual void SetPosition(uint64_t new_x, uint64_t new_y) = 0;
23
24 virtual int GetWidth() = 0;
25 virtual int GetHeight() = 0;
26
27 virtual void MakeContextCurrent() = 0;
28 virtual void MakeNullCurrent() = 0;
29};
30
31
32#endif /* IWINDOW_HPP_ */
33