Set a device independent resolution and presentation mode for rendering.
int SDL_SetRenderLogicalPresentation(SDL_Renderer *renderer, int w, int h, SDL_RendererLogicalPresentation mode, SDL_ScaleMode scale_mode);
renderer | the rendering context |
w | the width of the logical resolution |
h | the height of the logical resolution |
mode | the presentation mode used |
scale_mode | the scale mode used |
Returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.
This function sets the width and height of the logical rendering output. A render target is created at the specified size and used for rendering and then copied to the output during presentation.
When a renderer is created, the logical size is set to match the window size in screen coordinates. The actual output size may be higher pixel density, and can be queried with SDL_GetRenderOutputSize().
You can disable logical coordinates by setting the mode to SDL_LOGICAL_PRESENTATION_DISABLED, and in that case you get the full resolution of the output window.
You can convert coordinates in an event into rendering coordinates using SDL_ConvertEventToRenderCoordinates().
This function is available since SDL 3.0.0.