diff options
Diffstat (limited to 'src/platform.h')
| -rw-r--r-- | src/platform.h | 26 |
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" |
