I\'m trying to make a program using SDL and C++. How can I get screen\'s width and height in pixels in SDL?I\'m trying to get screen\'s width not the window\'s width.
On Fullscreen: it can be done really easily using SDL_GetRendererOutputSize
You just have to pass in a your SDL_Renderer* like so:
int w, h;
SDL_GetRendererOutputSize(renderer, &w, &h);
void SDL_GetRendererOutputSize(SDL_Renderer* renderer, int* w, int* h)
renderer a rendering context
w a pointer filled in with the width of the renderer
h a pointer filled in with the height of the renderer
On Non-Fullscreen:
Using SDL_GetDesktopDisplayMode()
SDL_DisplayMode dm;
if (SDL_GetDesktopDisplayMode(0, &dm) != 0)
{
SDL_Log("SDL_GetDesktopDisplayMode failed: %s", SDL_GetError());
return 1;
}
int w, h;
w = dm.w;
h = dm.h;
Just please do an error checking! Or you'll hate your life when SDL_GetDesktopDisplayMode fails!