2D rendererSDL 3.2

SDL_CreateWindowAndRenderer

Creates a window and its 2D renderer in one call. The shortest start for a 2D program.

Signature

bool SDL_CreateWindowAndRenderer(const char *title, int width, int height, SDL_WindowFlags window_flags, SDL_Window **window, SDL_Renderer **renderer);

How it works

It is SDL_CreateWindow followed by SDL_CreateRenderer with the default driver. The two results come back through the pointer-to-pointer parameters, and the function itself returns true or false.

Parameters

titleconst char *

Title bar text, UTF-8.

widthint

Window width in window coordinates.

heightint

Window height in window coordinates.

window_flagsSDL_WindowFlags

Same flags as SDL_CreateWindow, e.g. SDL_WINDOW_RESIZABLE, or 0.

windowSDL_Window **

Receives the window.

rendererSDL_Renderer **

Receives the renderer.

Return value

true on success, false on failure (see SDL_GetError).

Example

example.cpp
1SDL_Window* window = nullptr;
2SDL_Renderer* renderer = nullptr;
3if (!SDL_CreateWindowAndRenderer("SDL3 Window", 1280, 720, SDL_WINDOW_RESIZABLE,
4                                 &window, &renderer)) {
5    SDL_Log("CreateWindowAndRenderer: %s", SDL_GetError());
6    return 1;
7}
Official SDL wiki