SDL Wiki
(This is the legacy documentation for SDL2, the previous stable version; SDL3 is the current stable version.)

SDL_GetDisplayDPI

Get the dots/pixels-per-inch for a display.

Header File

Defined in SDL_video.h

Syntax

int SDL_GetDisplayDPI(int displayIndex, float * ddpi, float * hdpi, float * vdpi);

Function Parameters

int displayIndex the index of the display from which DPI information should be queried.
float * ddpi a pointer filled in with the diagonal DPI of the display; may be NULL.
float * hdpi a pointer filled in with the horizontal DPI of the display; may be NULL.
float * vdpi a pointer filled in with the vertical DPI of the display; may be NULL.

Return Value

(int) Returns 0 on success or a negative error code on failure; call SDL_GetError() for more information.

Remarks

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.

Version

This function is available since SDL 2.0.4.

See Also


CategoryAPI, CategoryAPIFunction, CategoryVideo


[ edit | delete | history | feedback | raw ]

[ front page | index | search | recent changes | git repo | offline html ]

All wiki content is licensed under Creative Commons Attribution 4.0 International (CC BY 4.0).
Wiki powered by ghwikipp.