Window

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

Functions

WindowClose

void WindowClose(HWindow window)

close the window

PARAMETERS

HWindow window window handle

WindowCreateParamsInitialize

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

WindowDelete

void WindowDelete(HWindow window)

delete a window handle

PARAMETERS

HWindow window window handle

WindowGetDisplayScaleFactor

float WindowGetDisplayScaleFactor(HWindow window)

get display scale factor

PARAMETERS

HWindow window window handle

RETURNS

float display scale factor

WindowGetHeight

uint32_t WindowGetHeight(HWindow window)

get window height

PARAMETERS

HWindow window window handle

RETURNS

uint32_t window height

WindowGetStateParam

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

WindowGetWidth

uint32_t WindowGetWidth(HWindow window)

get window width

PARAMETERS

HWindow window window handle

RETURNS

uint32_t window width

WindowIconify

void WindowIconify(HWindow window)

iconify the window

PARAMETERS

HWindow window window handle

WindowNew

HWindow WindowNew()

create a new window handle

PARAMETERS

RETURNS

HWindow window handle

WindowOpen

WindowResult WindowOpen(HWindow window, WindowCreateParams* params)

open a window

PARAMETERS

HWindow window window handle
WindowCreateParams* params window parameters

RETURNS

WindowResult result code

WindowPollEvents

void WindowPollEvents(HWindow window)

poll window events

PARAMETERS

HWindow window window handle

WindowSetSize

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

WindowShow

void WindowShow(HWindow window)

show the window

PARAMETERS

HWindow window window handle

Structs

WindowCreateParams

TYPE

struct WindowCreateParams

window 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


Types

FWindowAddKeyboardCharCallback

void FWindowAddKeyboardCharCallback()

Called when a character is entered from keyboard input.

PARAMETERS



FWindowCloseCallback

void FWindowCloseCallback()

Called when the window is requested to close. Return non-zero to allow close, or zero to cancel close.

PARAMETERS



FWindowDeviceChangedCallback

void FWindowDeviceChangedCallback()

Called when keyboard input device status changes.

PARAMETERS



FWindowFocusCallback

void FWindowFocusCallback()

Called when the window focus changes.

PARAMETERS



FWindowIconifyCallback

void FWindowIconifyCallback()

Called when the window is iconified/minimized or restored.

PARAMETERS



FWindowResizeCallback

void FWindowResizeCallback()

Called when the window size changes.

PARAMETERS



FWindowSetMarkedTextCallback

void FWindowSetMarkedTextCallback()

Called when IME marked text is updated.

PARAMETERS



HWindow

void HWindow()

Window handle

PARAMETERS



Enums

WindowResult

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

WindowsGraphicsApi

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

WindowState

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