aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/primitive-renderpass.hpp2
-rw-r--r--include/vk-api.hpp2
-rw-r--r--include/vk-renderer.hpp2
-rw-r--r--include/window.hpp14
4 files changed, 13 insertions, 7 deletions
diff --git a/include/primitive-renderpass.hpp b/include/primitive-renderpass.hpp
index 2e0a77b..8dda772 100644
--- a/include/primitive-renderpass.hpp
+++ b/include/primitive-renderpass.hpp
@@ -64,7 +64,7 @@ class Primitive {
void set_constant(off_t offset, Buffer* buffer);
void set_constant(off_t offset, Sampler* sampler);
- void set_index_buffer(Buffer* index_buffer);
+ void set_index_buffer(Buffer* buffer);
void set_scissor(int32_t x, int32_t y, uint32_t width, uint32_t height);
diff --git a/include/vk-api.hpp b/include/vk-api.hpp
index 2c00b40..f4376cd 100644
--- a/include/vk-api.hpp
+++ b/include/vk-api.hpp
@@ -163,7 +163,7 @@ class vkapi {
void destroy_descriptor_sets(std::vector<VkDescriptorSet> &descriptor_sets);
- VkSurfaceKHR create_surface(window& wnd);
+ VkSurfaceKHR create_surface(window& wnd) const;
void destroy_surface(VkSurfaceKHR surface);
diff --git a/include/vk-renderer.hpp b/include/vk-renderer.hpp
index a6107cd..5efb7d6 100644
--- a/include/vk-renderer.hpp
+++ b/include/vk-renderer.hpp
@@ -39,6 +39,8 @@ class vkrenderer {
Texture* create_2d_texture(size_t width, size_t height, VkFormat format);
+ void destroy_2d_texture(Texture* texture);
+
Sampler* create_sampler(VkFilter filter, VkSamplerAddressMode address_mode);
ComputeRenderpass* create_compute_renderpass();
diff --git a/include/window.hpp b/include/window.hpp
index 3f0fa01..aeea39a 100644
--- a/include/window.hpp
+++ b/include/window.hpp
@@ -134,18 +134,22 @@ struct event {
class window {
public:
- window(uint32_t width, uint32_t height);
+ window(uint32_t desired_width, uint32_t desired_height);
~window();
void poll_events();
-
#if defined(WINDOWS)
+ void message_loop();
+
LRESULT message_handler(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam);
static LRESULT CALLBACK window_procedure(HWND hwnd, UINT umsg, WPARAM wparam, LPARAM lparam);
- HWND win_handle;
+ HWND window_handle {};
+ WNDCLASS window_class {};
+ LPVOID main_fiber;
+ LPVOID message_loop_fiber;
#elif defined(LINUX)
xcb_connection_t* connection;
xcb_window_t win;
@@ -164,8 +168,8 @@ class window {
bool isOpen;
- bool keyboard[KEYS::MAX_KEYS] = { false };
- bool mouse[BUTTONS::MAX_BUTTONS] = { false };
+ bool keyboard[KEYS::MAX_KEYS] { false };
+ bool mouse[BUTTONS::MAX_BUTTONS] { false };
};
#endif // !__WINDOW_HPP_