Window routines to manage on-screen windows

class sdl2.ext.Window(title : string, size : iterable[, position=None[, flags=None]])

The Window class represents a visible on-screen object with an optional border and title text. It represents an area on the screen that can be accessed by the application for displaying graphics and receive and process user input.

The position to show the Window at is undefined by default, letting the operating system or window manager pick the best location. The behaviour can be adjusted through the DEFAULTPOS class variable.

Window.DEFAULTPOS = (10, 10)

The created Window is hidden by default, which can be overridden at the time of creation by providing other SDL window flags through the flags parameter. The default flags for creating Window instances can be adjusted through the DEFAULTFLAGS class variable.


The used sdl2.SDL_Window.


The title of the Window.


The size of the Window.


The current position of the Window top-left corner.

create() → None

Creates the underlying SDL2 window. This method does nothing, if the window was already created.

open() → None

Creates and shows the window.

close() → None

Closes the window, implicitly destroying the underlying SDL2 window.

show() → None

Show the Window on the display.

hide() → None

Hide the Window.

maximize() → None

Maximizes the Window to the display’s dimensions.

minimize() → None

Minimizes the Window to an iconified state in the system tray.

refresh() → None

Refreshes the entire Window surface.


This only needs to be called, if a SDL_Surface was acquired via get_surface() and is used to display contents.

get_surface() → SDL_Surface

Gets the sdl2.SDL_Surface used by the Window to display 2D pixel data.


Using this method will make the usage of GL operations, such as texture handling or the usage of SDL renderers impossible.