sdlxSetRenderViewportFloat function render

bool sdlxSetRenderViewportFloat(
  1. Pointer<SdlRenderer> renderer,
  2. SdlxFRect? rect
)

Set the drawing area for rendering on the current target.

Drawing will clip to this area (separately from any clipping done with SDL_SetRenderClipRect), and the top left of the area will become coordinate (0, 0) for future drawing commands.

The area's width and height must be >= 0.

Each render target has its own viewport. This function sets the viewport for the current render target.

\param renderer the rendering context. \param rect the SDL_FRect structure representing the drawing area, or NULL to set the viewport to the entire target. \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.6.0.

\sa SDL_GetRenderViewportFloat \sa SDL_RenderViewportSet

extern SDL_DECLSPEC bool SDLCALL SDL_SetRenderViewportFloat(SDL_Renderer *renderer, const SDL_FRect *rect)

See also:

Implementation

bool sdlxSetRenderViewportFloat(
  Pointer<SdlRenderer> renderer,
  SdlxFRect? rect,
) {
  Pointer<SdlFRect> rectPointer = nullptr;
  if (rect != null) {
    rectPointer = rect.calloc();
  }
  final result = sdlSetRenderViewportFloat(renderer, rectPointer);
  if (rectPointer != nullptr) {
    rectPointer.callocFree();
  }
  return result;
}