Get the dots/pixels-per-inch for a display.
int SDL_GetDisplayDPI(int displayIndex, float * ddpi, float * hdpi, float * vdpi);
|displayIndex||the index of the display from which DPI information should be queried|
|ddpi||a pointer filled in with the diagonal DPI of the display; may be NULL|
|hdpi||a pointer filled in with the horizontal DPI of the display; may be NULL|
|vdpi||a pointer filled in with the vertical DPI of the display; may be NULL|
Returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.
Diagonal, horizontal and vertical DPI can all be optionally returned if the appropriate parameter is non-NULL.
A failure of this function usually means that either no DPI information is available or the
displayIndex is out of range.
WARNING: This reports the DPI that the hardware reports, and it is not always reliable! It is almost always better to use SDL_GetWindowSize() to find the window size, which might be in logical points instead of pixels, and then SDL_GL_GetDrawableSize(), SDL_Vulkan_GetDrawableSize(), SDL_Metal_GetDrawableSize(), or SDL_GetRendererOutputSize(), and compare the two values to get an actual scaling value between the two. We will be rethinking how high-dpi details should be managed in SDL3 to make things more consistent, reliable, and clear.
This function is available since SDL 2.0.4.