Provided by: libsdl3-doc_3.2.20+ds-2_all bug

NAME

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

SYNOPSIS

       #include <SDL3/SDL_render.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

       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

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

Simple Directmedia Layer                           SDL 3.2.20                SDL_SetRenderLogicalPresentation(3)