sdlGetDisplayUsableBounds function

bool sdlGetDisplayUsableBounds(
  1. int displayId,
  2. Pointer<SdlRect> 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.1.3.

\sa SDL_GetDisplayBounds \sa SDL_GetDisplays

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

Implementation

bool sdlGetDisplayUsableBounds(int displayId, Pointer<SdlRect> rect) {
  final sdlGetDisplayUsableBoundsLookupFunction = libSdl3.lookupFunction<
      Uint8 Function(Uint32 displayId, Pointer<SdlRect> rect),
      int Function(
          int displayId, Pointer<SdlRect> rect)>('SDL_GetDisplayUsableBounds');
  return sdlGetDisplayUsableBoundsLookupFunction(displayId, rect) == 1;
}