setViewport method

bool setViewport([
  1. Rectangle<double>? 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.

\param renderer the rendering context. \param rect the SDL_Rect 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.1.3.

\sa SDL_GetRenderViewport \sa SDL_RenderViewportSet

extern SDL_DECLSPEC bool SDLCALL SDL_SetRenderViewport(SDL_Renderer *renderer, const SDL_Rect *rect)

Implementation

bool setViewport([math.Rectangle<double>? rect]) {
  Pointer<SdlRect> rectPointer = nullptr;
  if (rect != null) {
    rectPointer = rect.callocInt();
  }
  var result = sdlSetRenderViewport(this, rectPointer);
  calloc.free(rectPointer);
  return result;
}