Files
Towards/external/loft/modules/window/include/window.h
T
Martin Slachta a04f0dc262 initial
2026-07-18 14:31:15 +02:00

62 lines
1.4 KiB
C

#pragma once
#if __cplusplus
extern "C" {
#endif
#include "event.h"
#include "cursors.h"
typedef struct WindowHandle_T *WindowHandle;
typedef struct VkSurfaceKHR_T *VkSurfaceKHR;
typedef struct VkInstance_T *VkInstance;
typedef struct WindowCreateInfo {
int x, y;
unsigned width, height;
} WindowCreateInfo;
typedef unsigned WindowCursor;
typedef enum WindowResult {
WINDOW_SUCCESS,
WINDOW_CONNECTION_FAILED,
WINDOW_ALLOCATION_FAILED,
} WindowResult;
/* Creates new window */
WindowResult window_new(WindowCreateInfo *pInfo, WindowHandle *pOut);
/* Cleans up the window */
void window_destroy(WindowHandle window);
/* Hides the window, basically minimizes */
void window_hide(WindowHandle window);
/* Show the window */
void window_show(WindowHandle window);
VkSurfaceKHR window_vk_create_surface(VkInstance instance, WindowHandle window);
int window_is_closed(WindowHandle window);
void window_close(WindowHandle window);
int window_next_event(WindowHandle handle, WindowEvent *pOutEvent);
int window_pending_event(WindowHandle handle);
char *window_get_clipboard(const WindowHandle window);
void window_set_clipboard(WindowHandle window, const char *text);
WindowCursor window_create_cursor(WindowHandle window, int idx);
int window_is_minimized(WindowHandle window);
void window_get_extent(WindowHandle window, int *pOutWidth, int *pOutHeight);
#if __cplusplus
}
#endif