summaryrefslogtreecommitdiff
path: root/src/GFX
diff options
context:
space:
mode:
authorMel <einebeere@gmail.com>2023-07-08 03:25:44 +0200
committerMel <einebeere@gmail.com>2023-07-08 03:25:44 +0200
commitfe2baedc760c2f29e2c720f6b1132a2de33c5430 (patch)
treedfbe1c72a17805a3cab6e0d47433e9021890c9ca /src/GFX
parent41fbca10f6c6cdd9c1623f1347e7ecb40f5e7f59 (diff)
downloadmeowcraft-fe2baedc760c2f29e2c720f6b1132a2de33c5430.tar.zst
meowcraft-fe2baedc760c2f29e2c720f6b1132a2de33c5430.zip
Use own size types
Diffstat (limited to 'src/GFX')
-rw-r--r--src/GFX/Binder.cpp20
-rw-r--r--src/GFX/Binder.hpp26
-rw-r--r--src/GFX/Image/PPMParser.cpp24
-rw-r--r--src/GFX/Image/PPMParser.hpp18
-rw-r--r--src/GFX/Image/RawImage.cpp14
-rw-r--r--src/GFX/Image/RawImage.hpp17
-rw-r--r--src/GFX/Mesh.cpp2
-rw-r--r--src/GFX/Mesh.hpp22
-rw-r--r--src/GFX/Mouse.cpp4
-rw-r--r--src/GFX/Mouse.hpp6
-rw-r--r--src/GFX/Shading/Program.cpp6
-rw-r--r--src/GFX/Shading/Program.hpp4
-rw-r--r--src/GFX/Shading/Shader.cpp6
-rw-r--r--src/GFX/Shading/Shader.hpp8
-rw-r--r--src/GFX/Shading/Uniform.cpp4
-rw-r--r--src/GFX/Shading/Uniform.hpp10
-rw-r--r--src/GFX/Texture.hpp2
-rw-r--r--src/GFX/Window.cpp11
-rw-r--r--src/GFX/Window.hpp14
19 files changed, 109 insertions, 109 deletions
diff --git a/src/GFX/Binder.cpp b/src/GFX/Binder.cpp
index e8fc559..905ba24 100644
--- a/src/GFX/Binder.cpp
+++ b/src/GFX/Binder.cpp
@@ -10,7 +10,7 @@ BindableMesh Binder::load(const Mesh& mesh) {
store_indices(mesh.indices().data(), mesh.indices().size());
}
- int attribute_index = 0;
+ Int attribute_index = 0;
for (const auto& attribute : mesh.attributes()) {
store_in_attribute_list(
attribute_index++,
@@ -25,7 +25,7 @@ BindableMesh Binder::load(const Mesh& mesh) {
return {vao, mesh.indices().size(), mesh.attributes().size()};
}
-uint32_t Binder::create_vao() {
+U32 Binder::create_vao() {
GLuint vao;
glGenVertexArrays(1, &vao);
glBindVertexArray(vao);
@@ -37,17 +37,17 @@ void Binder::unbind_vao() {
glBindVertexArray(0);
}
-void Binder::store_indices(const uint32_t* indices, size_t indices_size) {
+void Binder::store_indices(const U32* indices, USize indices_size) {
GLuint ebo;
glGenBuffers(1, &ebo);
glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, ebo);
- glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices_size * sizeof(float), indices, GL_STATIC_DRAW);
+ glBufferData(GL_ELEMENT_ARRAY_BUFFER, indices_size * sizeof(U32), indices, GL_STATIC_DRAW);
}
-void Binder::store_in_attribute_list(uint32_t attribute, int attribute_size, int type_size, const void* data, long data_size) {
- assert(type_size == sizeof(float));
+void Binder::store_in_attribute_list(U32 attribute, Int attribute_size, Int type_size, const void* data, long data_size) {
+ assert(type_size == sizeof(F32));
GLuint vbo;
glGenBuffers(1, &vbo);
@@ -60,23 +60,23 @@ void Binder::store_in_attribute_list(uint32_t attribute, int attribute_size, int
void BindableMesh::bind() const {
glBindVertexArray(m_vao);
- for (int i = 0; i < m_attribute_count; i++) {
+ for (Int i = 0; i < m_attribute_count; i++) {
glEnableVertexAttribArray(i);
}
}
void BindableMesh::unbind() const {
glBindVertexArray(0);
- for (int i = 0; i < m_attribute_count; i++) {
+ for (Int i = 0; i < m_attribute_count; i++) {
glDisableVertexAttribArray(i);
}
}
-bool BindableMesh::has_indices() const {
+Bool BindableMesh::has_indices() const {
return m_has_indices;
}
-size_t BindableMesh::size() const {
+USize BindableMesh::size() const {
return m_vertex_count;
}
diff --git a/src/GFX/Binder.hpp b/src/GFX/Binder.hpp
index 773518d..6103e09 100644
--- a/src/GFX/Binder.hpp
+++ b/src/GFX/Binder.hpp
@@ -1,6 +1,6 @@
#pragma once
-#include <cstdint>
+#include "../Common/Sizes.hpp"
#include "Mesh.hpp"
namespace MC::GFX {
@@ -10,23 +10,23 @@ public:
void bind() const;
void unbind() const;
- bool has_indices() const;
- size_t size() const;
+ Bool has_indices() const;
+ USize size() const;
private:
BindableMesh(
- uint32_t vao,
- size_t vertex_count,
- size_t attribute_count
+ U32 vao,
+ USize vertex_count,
+ USize attribute_count
) : m_vao(vao),
m_vertex_count(vertex_count),
m_has_indices(vertex_count > 0),
m_attribute_count(attribute_count) {}
- uint32_t m_vao;
- size_t m_vertex_count;
- bool m_has_indices;
- size_t m_attribute_count;
+ U32 m_vao;
+ USize m_vertex_count;
+ Bool m_has_indices;
+ USize m_attribute_count;
friend class Binder;
};
@@ -38,11 +38,11 @@ public:
static BindableMesh load(const Mesh& mesh);
private:
- static uint32_t create_vao();
+ static U32 create_vao();
static void unbind_vao();
- static void store_in_attribute_list(uint32_t attribute, int attribute_size, int type_size, const void* data, long data_size);
- static void store_indices(const uint32_t* indices, size_t indices_size);
+ static void store_in_attribute_list(U32 attribute, Int attribute_size, Int type_size, const void* data, long data_size);
+ static void store_indices(const U32* indices, USize indices_size);
};
} \ No newline at end of file
diff --git a/src/GFX/Image/PPMParser.cpp b/src/GFX/Image/PPMParser.cpp
index 1f62871..3c95bba 100644
--- a/src/GFX/Image/PPMParser.cpp
+++ b/src/GFX/Image/PPMParser.cpp
@@ -18,7 +18,7 @@ RawImage PPMParser::parse() {
auto pixel_count = header.width * header.height;
RawImage image(header.width, header.height);
- for (uint64_t pixel_index = 0; pixel_index < pixel_count; pixel_index++) {
+ for (U64 pixel_index = 0; pixel_index < pixel_count; pixel_index++) {
RawImage::Pixel pixel = parse_pixel(header.max_color);
image.add(pixel);
}
@@ -57,7 +57,7 @@ PPMParser::PPMHeader PPMParser::parse_header() {
return header;
}
-RawImage::Pixel PPMParser::parse_pixel(uint8_t max_color) {
+RawImage::Pixel PPMParser::parse_pixel(U8 max_color) {
auto r_sample = parse_sample();
auto g_sample = parse_sample();
auto b_sample = parse_sample();
@@ -66,7 +66,7 @@ RawImage::Pixel PPMParser::parse_pixel(uint8_t max_color) {
throw std::runtime_error("Sample can not be greater than Maxval.");
}
- auto map_to_range = [=](uint64_t s) -> uint8_t { return s * 255 / max_color; };
+ auto map_to_range = [=](U64 s) -> U8 { return s * 255 / max_color; };
RawImage::Pixel p{
map_to_range(r_sample),
@@ -82,23 +82,23 @@ RawImage::Pixel PPMParser::parse_pixel(uint8_t max_color) {
return p;
}
-uint64_t PPMParser::parse_sample() {
+U64 PPMParser::parse_sample() {
skip_whitespace();
auto sample = chomp_number();
skip_whitespace();
return sample;
}
-uint64_t PPMParser::chomp_number() {
+U64 PPMParser::chomp_number() {
auto raw = chomp_part();
- uint64_t number = 0;
- for (uint8_t digit_ascii : raw) {
+ U64 number = 0;
+ for (U8 digit_ascii : raw) {
if (digit_ascii < '0' || digit_ascii > '9') {
throw std::runtime_error("Number contains non ASCII digits.");
}
- uint8_t digit = digit_ascii - '0';
+ U8 digit = digit_ascii - '0';
number *= 10;
number += digit;
@@ -108,7 +108,7 @@ uint64_t PPMParser::chomp_number() {
}
std::string_view PPMParser::chomp_part() {
- uint64_t length = 0;
+ U64 length = 0;
while (!is_eof()) {
auto c = m_source[m_cursor + length];
@@ -127,7 +127,7 @@ std::string_view PPMParser::chomp_part() {
void PPMParser::skip_whitespace() {
while (!is_eof()) {
- uint8_t c = m_source[m_cursor];
+ U8 c = m_source[m_cursor];
if (c == '#') {
skip_comment();
continue;
@@ -142,7 +142,7 @@ void PPMParser::skip_whitespace() {
}
void PPMParser::skip_comment() {
- uint8_t c = m_source[m_cursor];
+ U8 c = m_source[m_cursor];
if (c != '#') {
return;
}
@@ -152,7 +152,7 @@ void PPMParser::skip_comment() {
}
}
-bool PPMParser::is_eof() const {
+Bool PPMParser::is_eof() const {
return m_cursor >= m_source.size();
}
diff --git a/src/GFX/Image/PPMParser.hpp b/src/GFX/Image/PPMParser.hpp
index a7e9b41..77f1cec 100644
--- a/src/GFX/Image/PPMParser.hpp
+++ b/src/GFX/Image/PPMParser.hpp
@@ -1,6 +1,6 @@
#pragma once
-#include <cstdint>
+#include "../../Common/Sizes.hpp"
#include <string_view>
#include "RawImage.hpp"
@@ -20,27 +20,27 @@ private:
struct PPMHeader {
PPMType type;
- uint32_t width;
- uint32_t height;
- uint8_t max_color;
+ U32 width;
+ U32 height;
+ U8 max_color;
};
PPMHeader parse_header();
- RawImage::Pixel parse_pixel(uint8_t max_color);
- uint64_t parse_sample();
+ RawImage::Pixel parse_pixel(U8 max_color);
+ U64 parse_sample();
- uint64_t chomp_number();
+ U64 chomp_number();
std::string_view chomp_part();
void skip_whitespace();
void skip_comment();
- bool is_eof() const;
+ Bool is_eof() const;
static constexpr RawImage::Pixel alpha_color{192, 0, 255};
std::string_view m_source;
- uint64_t m_cursor = 0;
+ U64 m_cursor = 0;
};
}
diff --git a/src/GFX/Image/RawImage.cpp b/src/GFX/Image/RawImage.cpp
index 0bd2947..9f156b8 100644
--- a/src/GFX/Image/RawImage.cpp
+++ b/src/GFX/Image/RawImage.cpp
@@ -7,30 +7,30 @@ void RawImage::add(Pixel pixel) {
m_pixels.push_back(pixel);
}
-size_t RawImage::size() const {
+USize RawImage::size() const {
return m_pixels.size();
}
-uint8_t* RawImage::raw() const {
- return (uint8_t*)m_pixels.data();
+U8* RawImage::raw() const {
+ return (U8*)m_pixels.data();
}
-uint32_t RawImage::width() const {
+U32 RawImage::width() const {
return m_width;
}
-uint32_t RawImage::height() const {
+U32 RawImage::height() const {
return m_height;
}
std::string RawImage::string() const {
std::stringstream str{};
- bool comma = false;
+ Bool comma = false;
str << "[";
for (const auto [r, g, b, a] : m_pixels) {
if (comma) { str << ", "; }
- str << "{r=" << (uint)r << ", g=" << (uint)g << ", b=" << (uint)b << ", a=" << (uint)a << "}";
+ str << "{r=" << (UInt)r << ", g=" << (UInt)g << ", b=" << (UInt)b << ", a=" << (UInt)a << "}";
comma = true;
}
str << "]";
diff --git a/src/GFX/Image/RawImage.hpp b/src/GFX/Image/RawImage.hpp
index 809ddd9..5a95dad 100644
--- a/src/GFX/Image/RawImage.hpp
+++ b/src/GFX/Image/RawImage.hpp
@@ -1,7 +1,6 @@
#pragma once
-#include <cstdint>
-#include <cstddef>
+#include "../../Common/Sizes.hpp"
#include <string>
#include <vector>
@@ -11,26 +10,26 @@ class RawImage {
public:
RawImage() : m_width(0), m_height(0) {}
- RawImage(uint32_t width, uint32_t height) : m_width(width), m_height(height) {
+ RawImage(U32 width, U32 height) : m_width(width), m_height(height) {
m_pixels.reserve(width * height);
}
struct Pixel {
- uint8_t r, g, b, a;
+ U8 r, g, b, a;
};
void add(Pixel pixel);
- size_t size() const;
- uint8_t* raw() const;
+ USize size() const;
+ U8* raw() const;
- uint32_t width() const;
- uint32_t height() const;
+ U32 width() const;
+ U32 height() const;
std::string string() const;
private:
std::vector<Pixel> m_pixels;
- uint32_t m_width, m_height;
+ U32 m_width, m_height;
};
}
diff --git a/src/GFX/Mesh.cpp b/src/GFX/Mesh.cpp
index 1869622..c45b5c9 100644
--- a/src/GFX/Mesh.cpp
+++ b/src/GFX/Mesh.cpp
@@ -2,7 +2,7 @@
namespace MC::GFX {
-const std::vector<uint32_t>& Mesh::indices() const {
+const std::vector<U32>& Mesh::indices() const {
return m_indices;
}
diff --git a/src/GFX/Mesh.hpp b/src/GFX/Mesh.hpp
index ec21e53..1c39941 100644
--- a/src/GFX/Mesh.hpp
+++ b/src/GFX/Mesh.hpp
@@ -2,7 +2,7 @@
#include <utility>
#include <vector>
-#include <cstdint>
+#include "../Common/Sizes.hpp"
#include "../Math/Common.hpp"
namespace MC::GFX {
@@ -10,7 +10,7 @@ namespace MC::GFX {
class Mesh {
public:
struct Attribute {
- template<size_t S = 3, typename T = float>
+ template<uint S = 3, typename T = float>
Attribute(
std::vector<Vector<S, T>> v
) : data_size(v.size()),
@@ -26,21 +26,21 @@ public:
attribute_size(other.attribute_size),
type_size(other.type_size) {}
- static void* copy(void* ptr, uint32_t size) {
- auto* buffer = new uint8_t[size];
- std::copy_n((uint8_t*)ptr, size, buffer);
+ static void* copy(void* ptr, U32 size) {
+ auto* buffer = new U8[size];
+ std::copy_n((U8*)ptr, size, buffer);
return buffer;
}
void* data;
- long data_size;
- int attribute_size;
- int type_size;
+ USize data_size;
+ USize attribute_size;
+ USize type_size;
};
Mesh(
std::vector<Attribute> attributes,
- std::vector<uint32_t> indices
+ std::vector<U32> indices
) : m_attributes(std::move(attributes)),
m_indices(std::move(indices)) {}
@@ -48,12 +48,12 @@ public:
std::vector<Attribute> attributes
) : m_attributes(std::move(attributes)) {}
- const std::vector<uint32_t>& indices() const;
+ const std::vector<U32>& indices() const;
const std::vector<Attribute>& attributes() const;
private:
std::vector<Attribute> m_attributes;
- std::vector<uint32_t> m_indices;
+ std::vector<U32> m_indices;
};
} \ No newline at end of file
diff --git a/src/GFX/Mouse.cpp b/src/GFX/Mouse.cpp
index 5cd2698..49f6972 100644
--- a/src/GFX/Mouse.cpp
+++ b/src/GFX/Mouse.cpp
@@ -3,7 +3,7 @@
namespace MC::GFX {
Vector<2> Mouse::update(GLFWwindow* window) {
- double x, y;
+ Real x, y;
glfwGetCursorPos(window, &x, &y);
if (m_first_event) {
@@ -13,7 +13,7 @@ Vector<2> Mouse::update(GLFWwindow* window) {
m_first_event = false;
}
- Vector<2> movement{static_cast<float>(x) - m_last_x, static_cast<float>(y) - m_last_y};
+ Vector<2> movement{static_cast<Real>(x) - m_last_x, static_cast<Real>(y) - m_last_y};
m_last_x = x;
m_last_y = y;
diff --git a/src/GFX/Mouse.hpp b/src/GFX/Mouse.hpp
index 1e2111e..ad940d4 100644
--- a/src/GFX/Mouse.hpp
+++ b/src/GFX/Mouse.hpp
@@ -11,10 +11,10 @@ public:
Vector<2> update(GLFWwindow* window);
private:
- bool m_first_event = true;
+ Bool m_first_event = true;
- float m_last_x = 0.0f;
- float m_last_y = 0.0f;
+ Real m_last_x = 0.0f;
+ Real m_last_y = 0.0f;
};
} \ No newline at end of file
diff --git a/src/GFX/Shading/Program.cpp b/src/GFX/Shading/Program.cpp
index 6efb30b..ff10012 100644
--- a/src/GFX/Shading/Program.cpp
+++ b/src/GFX/Shading/Program.cpp
@@ -18,7 +18,7 @@ Program::Program(Shader vertex, Shader fragment) {
GLint success;
glGetProgramiv(m_program, GL_LINK_STATUS, &success);
if(!success) {
- char message[512] = {};
+ Char message[512] = {};
glGetProgramInfoLog(m_program, 512, nullptr, message);
throw std::runtime_error(message);
@@ -36,10 +36,10 @@ void Program::unbind() const {
Uniform Program::uniform(const std::string& name) const {
auto index = glGetUniformLocation(m_program, name.c_str());
- return {name, static_cast<uint32_t>(index)};
+ return {name, static_cast<U32>(index)};
}
-uint32_t Program::get() const {
+U32 Program::get() const {
return m_program;
}
diff --git a/src/GFX/Shading/Program.hpp b/src/GFX/Shading/Program.hpp
index 8a50617..2f48698 100644
--- a/src/GFX/Shading/Program.hpp
+++ b/src/GFX/Shading/Program.hpp
@@ -10,7 +10,7 @@ class Program {
public:
Program(Shader vertex, Shader fragment);
- uint32_t get() const;
+ U32 get() const;
Uniform uniform(const std::string& name) const;
@@ -18,7 +18,7 @@ public:
void unbind() const;
private:
- uint32_t m_program;
+ U32 m_program;
};
} \ No newline at end of file
diff --git a/src/GFX/Shading/Shader.cpp b/src/GFX/Shading/Shader.cpp
index 6dfac34..54f8ad1 100644
--- a/src/GFX/Shading/Shader.cpp
+++ b/src/GFX/Shading/Shader.cpp
@@ -4,8 +4,8 @@
namespace MC::GFX::Shading {
-Shader::Shader(Type type, const char* source) {
- uint32_t gl_type = 0;
+Shader::Shader(Type type, const Char* source) {
+ U32 gl_type = 0;
switch (type) {
case Type::Vertex:
gl_type = GL_VERTEX_SHADER;
@@ -23,7 +23,7 @@ Shader::Shader(Type type, const char* source) {
GLint success;
glGetShaderiv(m_shader, GL_COMPILE_STATUS, &success);
if(!success) {
- char message[512] = {};
+ Char message[512] = {};
glGetShaderInfoLog(m_shader, 512, nullptr, message);
throw std::runtime_error(message);
diff --git a/src/GFX/Shading/Shader.hpp b/src/GFX/Shading/Shader.hpp
index 15450cb..21fd899 100644
--- a/src/GFX/Shading/Shader.hpp
+++ b/src/GFX/Shading/Shader.hpp
@@ -1,6 +1,6 @@
#pragma once
-#include <cstdint>
+#include "../../Common/Sizes.hpp"
#include "../../Assets.hpp"
namespace MC::GFX::Shading {
@@ -13,9 +13,9 @@ public:
Fragment,
};
- Shader(Type type, const char* source);
+ Shader(Type type, const Char* source);
- uint32_t get() const {
+ U32 get() const {
return m_shader;
}
@@ -28,7 +28,7 @@ public:
}
private:
- uint32_t m_shader;
+ U32 m_shader;
};
} \ No newline at end of file
diff --git a/src/GFX/Shading/Uniform.cpp b/src/GFX/Shading/Uniform.cpp
index 71786ef..a9c9854 100644
--- a/src/GFX/Shading/Uniform.cpp
+++ b/src/GFX/Shading/Uniform.cpp
@@ -3,11 +3,11 @@
namespace MC::GFX::Shading {
-void Uniform::set(const Matrix<4, 4>& value) const {
+void Uniform::set(const Matrix<4, 4, F32>& value) const {
glUniformMatrix4fv(m_index, 1, GL_TRUE, value.elements);
}
-void Uniform::set(const Vector<3>& value) const {
+void Uniform::set(const Vector<3, F32>& value) const {
glUniform3f(m_index, value.x(), value.y(), value.z());
}
diff --git a/src/GFX/Shading/Uniform.hpp b/src/GFX/Shading/Uniform.hpp
index a270e65..c8ab6fe 100644
--- a/src/GFX/Shading/Uniform.hpp
+++ b/src/GFX/Shading/Uniform.hpp
@@ -1,22 +1,22 @@
#pragma once
-#include <cstdint>
#include <string>
+#include "../../Common/Sizes.hpp"
#include "../../Math/Common.hpp"
namespace MC::GFX::Shading {
class Uniform {
public:
- Uniform(std::string name, uint32_t index)
+ Uniform(std::string name, U32 index)
: m_name(std::move(name)), m_index(index) {}
- void set(const Matrix<4, 4>& value) const;
- void set(const Vector<3>& value) const;
+ void set(const Matrix<4, 4, F32>& value) const;
+ void set(const Vector<3, F32>& value) const;
private:
std::string m_name;
- uint32_t m_index;
+ U32 m_index;
};
}
diff --git a/src/GFX/Texture.hpp b/src/GFX/Texture.hpp
index 2981b2c..11fd430 100644
--- a/src/GFX/Texture.hpp
+++ b/src/GFX/Texture.hpp
@@ -11,7 +11,7 @@ public:
void bind() const;
void unbind() const;
private:
- uint32_t m_texture = 0;
+ U32 m_texture = 0;
};
} \ No newline at end of file
diff --git a/src/GFX/Window.cpp b/src/GFX/Window.cpp
index ea1fde4..bbe2ba7 100644
--- a/src/GFX/Window.cpp
+++ b/src/GFX/Window.cpp
@@ -1,9 +1,10 @@
#include <stdexcept>
+#include "../Common/Sizes.hpp"
#include "Window.hpp"
namespace MC::GFX {
-Window::Window(const char *title, uint32_t width, uint32_t height) {
+Window::Window(const Char* title, U32 width, U32 height) {
glfwWindowHint(GLFW_CONTEXT_VERSION_MAJOR, 3);
glfwWindowHint(GLFW_CONTEXT_VERSION_MINOR, 3);
glfwWindowHint(GLFW_OPENGL_PROFILE, GLFW_OPENGL_CORE_PROFILE);
@@ -23,7 +24,7 @@ Window::~Window() {
glfwDestroyWindow(m_window);
}
-bool Window::should_close() const {
+Bool Window::should_close() const {
return glfwWindowShouldClose(m_window);
}
@@ -39,11 +40,11 @@ Vector<2> Window::mouse_delta() {
return m_mouse.update(m_window);
}
-bool Window::key(int key, int type) const {
+Bool Window::key(I32 key, I32 type) const {
return glfwGetKey(m_window, key) == type;
}
-bool Window::mouse(int key, int type) const {
+Bool Window::mouse(I32 key, I32 type) const {
return glfwGetMouseButton(m_window, key) == type;
}
@@ -52,7 +53,7 @@ void Window::start_frame() {
glfwPollEvents();
}
-void Window::on_size_change(void (callback)(GLFWwindow*, int, int)) {
+void Window::on_size_change(void (callback)(GLFWwindow*, I32, I32)) {
glfwSetFramebufferSizeCallback(m_window, callback);
}
diff --git a/src/GFX/Window.hpp b/src/GFX/Window.hpp
index 966925c..ac0efd2 100644
--- a/src/GFX/Window.hpp
+++ b/src/GFX/Window.hpp
@@ -1,28 +1,28 @@
#pragma once
-#include <cstdint>
-#include <GLFW/glfw3.h>
+#include "../Common/Sizes.hpp"
#include "../Math/Vector.hpp"
+#include <GLFW/glfw3.h>
#include "Mouse.hpp"
namespace MC::GFX {
class Window {
public:
- Window(const char* title, uint32_t width, uint32_t height);
+ Window(const Char* title, U32 width, U32 height);
~Window();
GLFWwindow* get() const;
- void on_size_change(void (* callback)(GLFWwindow*, int, int));
+ void on_size_change(void (* callback)(GLFWwindow*, I32, I32));
void close();
void start_frame();
Vector<2> mouse_delta();
- bool key(int key, int type) const;
- bool mouse(int key, int type) const;
- bool should_close() const;
+ Bool key(I32 key, I32 type) const;
+ Bool mouse(I32 key, I32 type) const;
+ Bool should_close() const;
private:
GLFWwindow* m_window;
Mouse m_mouse;