SDL_CreateWindow
Use this function to create a window with the specified position, dimensions, and flags.
Syntax
SDL_Window* SDL_CreateWindow(const char* title,
int x,
int y,
int w,
int h,
Uint32 flags)
Function Parameters
title |
the title of the window, in UTF-8 encoding |
x |
the x position of the window, SDL_WINDOWPOS_CENTERED, or SDL_WINDOWPOS_UNDEFINED |
y |
the y position of the window, SDL_WINDOWPOS_CENTERED, or SDL_WINDOWPOS_UNDEFINED |
w |
the width of the window |
h |
the height of the window |
flags |
0, or one or more SDL_WindowFlags OR'd together; see Remarks for details |
Return Value
Returns the window that was created or NULL on failure; call SDL_GetError() for more information.
Code Examples
// Example program:
// Using SDL2 to create an application window
#include <SDL2/SDL.h>
#include <iostream>
int main(int argc, char* argv[]){
SDL_Init(SDL_INIT_VIDEO); // Initialize SDL2
SDL_Window *window; // Declare a pointer to an SDL_Window
// Create an application window with the following settings:
window = SDL_CreateWindow(
"An SDL2 window", // window title
SDL_WINDOWPOS_UNDEFINED, // initial x position
SDL_WINDOWPOS_UNDEFINED, // initial y position
640, // width, in pixels
480, // height, in pixels
SDL_WINDOW_SHOWN|SDL_WINDOW_OPENGL // flags - see below
);
// Check that the window was successfully made
if(window==NULL){
// In the event that the window could not be made...
std::cout << "Could not create window: " << SDL_GetError() << '\n';
return 1;
}
// The window is open: enter program loop (see SDL_PollEvent)
SDL_Delay(3000); // Pause execution for 3000 milliseconds, for example
// Close and destroy the window
SDL_DestroyWindow(window);
// Clean up
SDL_Quit();
return 0;
}
Remarks
flags may be a mask of any of the following:
SDL_WINDOW_FULLSCREEN |
SDL_WINDOW_OPENGL |
SDL_WINDOW_SHOWN |
SDL_WINDOW_BORDERLESS |
SDL_WINDOW_RESIZABLE |
SDL_WINDOW_MAXIMIZED |
SDL_WINDOW_MINIMIZED |
SDL_WINDOW_INPUT_GRABBED |