Window creation and event polling.
| Include: | #include <dmsdk/platform/window.h> |
| TYPES | |
|---|---|
| FWindowAddKeyboardCharCallback | keyboard char callback |
| FWindowCloseCallback | window close callback |
| FWindowDeviceChangedCallback | device changed callback |
| FWindowFocusCallback | window focus callback |
| FWindowIconifyCallback | window iconify callback |
| FWindowResizeCallback | window resize callback |
| FWindowSetMarkedTextCallback | marked text callback |
| HWindow | Window handle |
| ENUMS | |
|---|---|
| WindowResult | result enumeration |
| WindowsGraphicsApi | graphics api enumeration |
| WindowState | window state enumeration |
| STRUCTS | |
|---|---|
| struct WindowCreateParams | window parameters |
| FUNCTIONS | |
|---|---|
| void WindowClose(HWindow window) | close the window |
| void WindowCreateParamsInitialize(WindowCreateParams* params) | initialize window parameters |
| void WindowDelete(HWindow window) | delete a window handle |
| float WindowGetDisplayScaleFactor(HWindow window) | get display scale factor |
| uint32_t WindowGetHeight(HWindow window) | get window height |
| uint32_t WindowGetStateParam(HWindow window, WindowState state) | get window state parameter |
| uint32_t WindowGetWidth(HWindow window) | get window width |
| void WindowIconify(HWindow window) | iconify the window |
| HWindow WindowNew() | create a new window handle |
| WindowResult WindowOpen(HWindow window, WindowCreateParams* params) | open a window |
| void WindowPollEvents(HWindow window) | poll window events |
| void WindowSetSize(HWindow window, uint32_t width, uint32_t height) | set window size |
| void WindowShow(HWindow window) | show the window |
void WindowClose(HWindow window)
close the window
PARAMETERS
HWindow |
window |
window handle |
void WindowCreateParamsInitialize(WindowCreateParams* params)
Initializes a WindowCreateParams struct with default values.
The struct is first cleared to zero, then m_Width is set to 640,
m_Height is set to 480, m_Samples is set to 1, and
m_Title is set to "Defold Application".
PARAMETERS
WindowCreateParams* |
params |
the params struct |
void WindowDelete(HWindow window)
delete a window handle
PARAMETERS
HWindow |
window |
window handle |
float WindowGetDisplayScaleFactor(HWindow window)
get display scale factor
PARAMETERS
HWindow |
window |
window handle |
RETURNS
float |
display scale factor |
uint32_t WindowGetHeight(HWindow window)
get window height
PARAMETERS
HWindow |
window |
window handle |
RETURNS
uint32_t |
window height |
uint32_t WindowGetStateParam(HWindow window, WindowState state)
get window state parameter
PARAMETERS
HWindow |
window |
window handle |
WindowState |
state |
state parameter |
RETURNS
uint32_t |
parameter value |
uint32_t WindowGetWidth(HWindow window)
get window width
PARAMETERS
HWindow |
window |
window handle |
RETURNS
uint32_t |
window width |
void WindowIconify(HWindow window)
iconify the window
PARAMETERS
HWindow |
window |
window handle |
WindowResult WindowOpen(HWindow window, WindowCreateParams* params)
open a window
PARAMETERS
HWindow |
window |
window handle |
WindowCreateParams* |
params |
window parameters |
RETURNS
WindowResult |
result code |
void WindowPollEvents(HWindow window)
poll window events
PARAMETERS
HWindow |
window |
window handle |
void WindowSetSize(HWindow window, uint32_t width, uint32_t height)
set window size
PARAMETERS
HWindow |
window |
window handle |
uint32_t |
width |
window width |
uint32_t |
height |
window height |
TYPE
struct WindowCreateParamswindow parameters
MEMBERS
WindowsGraphicsApi |
m_GraphicsApi |
Graphics backend to request when opening the window |
FWindowResizeCallback |
m_ResizeCallback |
Callback invoked when the window size changes |
void* |
m_ResizeCallbackUserData |
User data pointer passed to m_ResizeCallback |
FWindowCloseCallback |
m_CloseCallback |
Callback invoked when the window is requested to close |
void* |
m_CloseCallbackUserData |
User data pointer passed to m_CloseCallback |
FWindowFocusCallback |
m_FocusCallback |
Callback invoked when focus changes |
void* |
m_FocusCallbackUserData |
User data pointer passed to m_FocusCallback |
FWindowIconifyCallback |
m_IconifyCallback |
Callback invoked when iconify/minimize state changes |
void* |
m_IconifyCallbackUserData |
User data pointer passed to m_IconifyCallback |
const char* |
m_Title |
Window title (default: "Defold Application") |
uint32_t |
m_Width |
Initial window width in pixels (default: 640) |
uint32_t |
m_Height |
Initial window height in pixels (default: 480) |
uint32_t |
m_Samples |
Requested multisample anti-aliasing sample count (default: 1) |
uint32_t |
m_BackgroundColor |
Initial window background color value |
uint8_t |
m_ContextAlphabits |
Requested alpha bits for the graphics context |
uint8_t:7 |
m_OpenGLVersionHint |
OpenGL version hint encoded as major*10 + minor (for example 33 means OpenGL 3.3) |
uint8_t:1 |
m_OpenGLUseCoreProfileHint |
Request OpenGL core profile when opening the window |
uint8_t:1 |
m_Hidden |
Start window hidden |
uint8_t:1 |
m_Fullscreen |
Start window in fullscreen mode |
uint8_t:1 |
m_PrintDeviceInfo |
Print graphics device information when opening the window |
uint8_t:1 |
m_HighDPI |
Request high-DPI framebuffer support where available |
void FWindowAddKeyboardCharCallback()
Called when a character is entered from keyboard input.
PARAMETERS
void FWindowCloseCallback()
Called when the window is requested to close. Return non-zero to allow close, or zero to cancel close.
PARAMETERS
void FWindowDeviceChangedCallback()
Called when keyboard input device status changes.
PARAMETERS
void FWindowFocusCallback()
Called when the window focus changes.
PARAMETERS
void FWindowIconifyCallback()
Called when the window is iconified/minimized or restored.
PARAMETERS
void FWindowResizeCallback()
Called when the window size changes.
PARAMETERS
void FWindowSetMarkedTextCallback()
Called when IME marked text is updated.
PARAMETERS
void HWindow()
Window handle
PARAMETERS
result enumeration
WINDOW_RESULT_OK |
Operation completed successfully |
WINDOW_RESULT_WINDOW_OPEN_ERROR |
Failed to open the window |
WINDOW_RESULT_WINDOW_ALREADY_OPENED |
Window is already open |
graphics api enumeration
WINDOW_GRAPHICS_API_NULL |
No graphics backend |
WINDOW_GRAPHICS_API_OPENGL |
OpenGL backend |
WINDOW_GRAPHICS_API_OPENGLES |
OpenGL ES backend |
WINDOW_GRAPHICS_API_VULKAN |
Vulkan backend |
WINDOW_GRAPHICS_API_VENDOR |
Vendor-specific backend |
WINDOW_GRAPHICS_API_WEBGPU |
WebGPU backend |
WINDOW_GRAPHICS_API_DIRECTX |
DirectX backend |
window state enumeration
WINDOW_STATE_OPENED |
Window is opened |
WINDOW_STATE_ACTIVE |
Window is active/focused |
WINDOW_STATE_ICONIFIED |
Window is iconified/minimized |
WINDOW_STATE_ACCELERATED |
Window has an accelerated graphics context |
WINDOW_STATE_RED_BITS |
Red channel bit depth |
WINDOW_STATE_GREEN_BITS |
Green channel bit depth |
WINDOW_STATE_BLUE_BITS |
Blue channel bit depth |
WINDOW_STATE_ALPHA_BITS |
Alpha channel bit depth |
WINDOW_STATE_DEPTH_BITS |
Depth buffer bit depth |
WINDOW_STATE_STENCIL_BITS |
Stencil buffer bit depth |
WINDOW_STATE_REFRESH_RATE |
Display refresh rate |
WINDOW_STATE_ACCUM_RED_BITS |
Accumulation red channel bit depth |
WINDOW_STATE_ACCUM_GREEN_BITS |
Accumulation green channel bit depth |
WINDOW_STATE_ACCUM_BLUE_BITS |
Accumulation blue channel bit depth |
WINDOW_STATE_ACCUM_ALPHA_BITS |
Accumulation alpha channel bit depth |
WINDOW_STATE_AUX_BUFFERS |
Number of auxiliary buffers |
WINDOW_STATE_STEREO |
Stereo rendering enabled |
WINDOW_STATE_WINDOW_NO_RESIZE |
Window resize disabled |
WINDOW_STATE_FSAA_SAMPLES |
Requested FSAA sample count |
WINDOW_STATE_SAMPLE_COUNT |
Actual sample count used by the window/context |
WINDOW_STATE_HIGH_DPI |
High-DPI framebuffer enabled |
WINDOW_STATE_AUX_CONTEXT |
Auxiliary graphics context supported |