Provided by: libsdl3-doc_3.2.8+ds-1_all bug

NAME

       SDL_SetRenderLogicalPresentation  -  Set  a  device-independent  resolution  and  presentation  mode  for
       rendering.

HEADER FILE

       Defined in SDL3/SDL_render.h

SYNOPSIS

       #include "SDL3/SDL.h"

       bool SDL_SetRenderLogicalPresentation(SDL_Renderer *renderer, int w, int h, SDL_RendererLogicalPresentation mode);

DESCRIPTION

       This function sets the width and height of the logical rendering output.  The renderer will act as if the
       current render target is always the requested dimensions, scaling to the actual resolution as necessary.

       This can be useful for games that expect a fixed size, but would like to scale the output to whatever  is
       available, regardless of how a user resizes a window, or if the display is high DPI.

       Logical presentation can be used with both render target textures and the renderer's window; the state is
       unique to each render target, and this function sets the state for the current render target. It might be
       useful  to  draw  to  a texture that matches the window dimensions with logical presentation enabled, and
       then draw that texture across the entire window with logical presentation disabled.  Be  careful  not  to
       render both with logical presentation enabled, however, as this could produce double-letterboxing, etc.

       You can disable logical coordinates by setting the mode to

       SDL_LOGICAL_PRESENTATION_DISABLED  ,  and  in  that  case you get the full pixel resolution of the render
       target; it is safe to toggle logical presentation during the rendering of a frame: perhaps  most  of  the
       rendering  is  done  to  specific  dimensions  but  to  make  fonts look sharp, the app turns off logical
       presentation while drawing text, for example.

       For the renderer's window, letterboxing is drawn into the framebuffer if logical presentation is  enabled
       during

       SDL_RenderPresent  ;  be  sure  to  reenable  it before presenting if you were toggling it, otherwise the
       letterbox areas might have artifacts from previous frames (or artifacts  from  external  overlays,  etc).
       Letterboxing  is  never  drawn  into  texture  render  targets; be sure to call SDL_RenderClear () before
       drawing into the texture so the letterboxing areas are cleared, if appropriate.

       You can convert coordinates in an event into rendering coordinates using

       SDL_ConvertEventToRenderCoordinates ().

FUNCTION PARAMETERS

       renderer
              the rendering context.

       w      the width of the logical resolution.

       h      the height of the logical resolution.

       mode   the presentation mode used.

RETURN VALUE

       Returns true on success or false on failure; call

       SDL_GetError () for more information.

THREAD SAFETY

       This function should only be called on the main thread.

AVAILABILITY

       This function is available since SDL 3.2.0.

SEE ALSO

       (3),   SDL_ConvertEventToRenderCoordinates(3),    (3),    SDL_GetRenderLogicalPresentation(3),    (3),
       SDL_GetRenderLogicalPresentationRect(3)

Simple Directmedia Layer                            SDL 3.2.8                SDL_SetRenderLogicalPresentation(3)