sdlSetWindowPosition function

bool sdlSetWindowPosition(
  1. Pointer<SdlWindow> window,
  2. int x,
  3. int y
)

Request that the window's position be set.

If, at the time of this request, the window is in a fixed-size state such as maximized, this request may be deferred until the window returns to a resizable state.

This can be used to reposition fullscreen-desktop windows onto a different display, however, exclusive fullscreen windows are locked to a specific display and can only be repositioned programmatically via SDL_SetWindowFullscreenMode().

On some windowing systems this request is asynchronous and the new coordinates may not have have been applied immediately upon the return of this function. If an immediate change is required, call SDL_SyncWindow() to block until the changes have taken effect.

When the window position changes, an SDL_EVENT_WINDOW_MOVED event will be emitted with the window's new coordinates. Note that the new coordinates may not match the exact coordinates requested, as some windowing systems can restrict the position of the window in certain scenarios (e.g. constraining the position so the window is always within desktop bounds). Additionally, as this is just a request, it can be denied by the windowing system.

\param window the window to reposition. \param x the x coordinate of the window, or SDL_WINDOWPOS_CENTERED or SDL_WINDOWPOS_UNDEFINED. \param y the y coordinate of the window, or SDL_WINDOWPOS_CENTERED or SDL_WINDOWPOS_UNDEFINED. \returns true on success or false on failure; call SDL_GetError() for more information.

\since This function is available since SDL 3.1.3.

\sa SDL_GetWindowPosition \sa SDL_SyncWindow

extern SDL_DECLSPEC bool SDLCALL SDL_SetWindowPosition(SDL_Window *window, int x, int y)

Implementation

bool sdlSetWindowPosition(Pointer<SdlWindow> window, int x, int y) {
  final sdlSetWindowPositionLookupFunction = libSdl3.lookupFunction<
      Uint8 Function(Pointer<SdlWindow> window, Int32 x, Int32 y),
      int Function(
          Pointer<SdlWindow> window, int x, int y)>('SDL_SetWindowPosition');
  return sdlSetWindowPositionLookupFunction(window, x, y) == 1;
}