sdlGetFullscreenDisplayModes function

Pointer<Pointer<SdlDisplayMode>> sdlGetFullscreenDisplayModes(
  1. int displayId,
  2. Pointer<Int32> count
)

Get a list of fullscreen display modes available on a display.

The display modes are sorted in this priority:

  • w -> largest to smallest
  • h -> largest to smallest
  • bits per pixel -> more colors to fewer colors
  • packed pixel layout -> largest to smallest
  • refresh rate -> highest to lowest
  • pixel density -> lowest to highest

\param displayID the instance ID of the display to query. \param count a pointer filled in with the number of display modes returned, may be NULL. \returns a NULL terminated array of display mode pointers or NULL on failure; call SDL_GetError() for more information. This is a single allocation that should be freed with SDL_free() when it is no longer needed.

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

\since This function is available since SDL 3.1.3.

\sa SDL_GetDisplays

extern SDL_DECLSPEC SDL_DisplayMode ** SDLCALL SDL_GetFullscreenDisplayModes(SDL_DisplayID displayID, int *count)

Implementation

Pointer<Pointer<SdlDisplayMode>> sdlGetFullscreenDisplayModes(
    int displayId, Pointer<Int32> count) {
  final sdlGetFullscreenDisplayModesLookupFunction = libSdl3.lookupFunction<
      Pointer<Pointer<SdlDisplayMode>> Function(
          Uint32 displayId, Pointer<Int32> count),
      Pointer<Pointer<SdlDisplayMode>> Function(int displayId,
          Pointer<Int32> count)>('SDL_GetFullscreenDisplayModes');
  return sdlGetFullscreenDisplayModesLookupFunction(displayId, count);
}