]> git.localhorst.tv Git - gong.git/blob - src/graphics/Canvas.hpp
code, assets, and other stuff stolen from blank
[gong.git] / src / graphics / Canvas.hpp
1 #ifndef GONG_GRAPHICS_CANVAS_HPP_
2 #define GONG_GRAPHICS_CANVAS_HPP_
3
4 #include "glm.hpp"
5
6
7 namespace gong {
8 namespace graphics {
9
10 class Canvas {
11
12 public:
13         Canvas() noexcept;
14
15         void Resize(float w, float h) noexcept;
16
17         const glm::vec2 &Offset() const noexcept { return offset; }
18         const glm::vec2 &Size() const noexcept { return size; }
19
20         const glm::mat4 &Projection() const noexcept { return projection; }
21         const glm::mat4 &View() const noexcept { return view; }
22
23 private:
24         void UpdateProjection() noexcept;
25
26 private:
27         glm::vec2 offset;
28         glm::vec2 size;
29         float near;
30         float far;
31
32         glm::mat4 projection;
33         glm::mat4 view;
34
35 };
36
37 }
38 }
39
40 #endif