sdlxGetDisplayUsableBounds function video

bool sdlxGetDisplayUsableBounds(
  1. int displayId,
  2. SdlxRect rect
)

Get the usable desktop area represented by a display, in screen coordinates.

This is the same area as SDL_GetDisplayBounds() reports, but with portions reserved by the system removed. For example, on Apple's macOS, this subtracts the area occupied by the menu bar and dock.

Setting a window to be fullscreen generally bypasses these unusable areas, so these are good guidelines for the maximum space available to a non-fullscreen window.

\param displayID the instance ID of the display to query. \param rect the SDL_Rect structure filled in with the display bounds. \returns true on success or false on failure; call SDL_GetError() for more information.

\threadsafety This function should only be called on the main thread.

\since This function is available since SDL 3.2.0.

\sa SDL_GetDisplayBounds \sa SDL_GetDisplays

extern SDL_DECLSPEC bool SDLCALL SDL_GetDisplayUsableBounds(SDL_DisplayID displayID, SDL_Rect *rect)

Implementation

bool sdlxGetDisplayUsableBounds(int displayId, SdlxRect rect) {
  final rectPointer = calloc<SdlRect>();
  final result = sdlGetDisplayUsableBounds(displayId, rectPointer);
  if (result) {
    rect.loadFromPointer(rectPointer);
  }
  rectPointer.callocFree();
  return result;
}