summaryrefslogtreecommitdiffstats
path: root/src/platform.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/platform.h')
-rw-r--r--src/platform.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/platform.h b/src/platform.h
index baf0165..2f8bc19 100644
--- a/src/platform.h
+++ b/src/platform.h
@@ -1,6 +1,16 @@
#ifndef VGLTF_PLATFORM_H
#define VGLTF_PLATFORM_H
+#include "log.h"
+#include <stdint.h>
+#include <stdlib.h>
+
+#define VGLTF_PANIC(...) \
+ do { \
+ VGLTF_LOG_ERR("panic: " __VA_ARGS__); \
+ exit(1); \
+ } while (0)
+
enum vgltf_event_type {
VGLTF_EVENT_QUIT,
VGLTF_EVENT_KEY_DOWN,
@@ -49,11 +59,27 @@ struct vgltf_event {
};
};
+struct vgltf_window_size {
+ int width;
+ int height;
+};
+
struct vgltf_platform;
bool vgltf_platform_init(struct vgltf_platform *platform);
void vgltf_platform_deinit(struct vgltf_platform *platform);
bool vgltf_platform_poll_event(struct vgltf_platform *platform,
struct vgltf_event *event);
+bool vgltf_platform_get_window_size(struct vgltf_platform *platform,
+ struct vgltf_window_size *window_size);
+
+// Vulkan specifics
+#include "vulkan/vulkan_core.h"
+char const *const *
+vgltf_platform_get_vulkan_instance_extensions(struct vgltf_platform *platform,
+ uint32_t *count);
+bool vgltf_platform_create_vulkan_surface(struct vgltf_platform *platform,
+ VkInstance instance,
+ VkSurfaceKHR *surface);
#include "platform_sdl.h"
Go back to lisible.xyz