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

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)