2D drawing routines for software surfaces


The drawing functions within this module are unoptimised and should not be considered fast. If you want improved drawing of 2D primitives, including hardware acceleration, you should use the methods of the Renderer instead.

sdl2.ext.prepare_color(color : object, target : object) → int

Prepares the passed color for a specific target. color can be any object type that can be processed by convert_to_color(). target can be any sdl2.SDL_PixelFormat, sdl2.SDL_Surface or SoftwareSprite instance.

The returned integer will be a color value matching the target’s pixel format.

sdl2.ext.fill(target : object, color : object[, area=None]) → None

Fills a certain area on the passed target with a color. If no area is provided, the entire target will be filled with the passed color. If an iterable item is provided as area (such as a list or tuple), it will be first checked, if the item denotes a single rectangular area (4 integer values) before assuming it to be a sequence of rectangular areas to fill with the color.

target can be any sdl2.SDL_Surface or SoftwareSprite instance.

sdl2.ext.line(target : object, color : object[, width=1]) → None

Draws one or multiple lines on the passed target. line can be a sequence of four integers for a single line in the form (x1, y1, x2, y2) or a sequence of a multiple of 4 for drawing multiple lines at once, e.g. (x1, y1, x2, y2, x3, y3, x4, y4, ...).

target can be any sdl2.SDL_Surface or SoftwareSprite instance.