##### pygame documentation

Pygame Home || Help Contents || Reference Index

Most useful stuff: Color | display | draw | event | font | image | key | locals | mixer | mouse | Rect | Surface | time | music | pygame

Advanced stuff: cursors | joystick | mask | sprite | transform | BufferProxy | freetype | gfxdraw | midi | Overlay | PixelArray | pixelcopy | sndarray | surfarray | math

Other: camera | cdrom | examples | scrap | tests | touch | version

## src_c/base.c

This extension module defines general purpose routines for starting and stopping SDL as well as various conversion routines uses elsewhere in pygame.

C header: src_c/pygame.h

PyObject* `pgExc_SDLError`

  This is `pygame.error`, the exception type used to raise SDL errors.

int `pgVideo_AutoInit`()

  Initialize the SDL video subsystem. Return `1` on success, `0` for an SDL error, `-1` if a Python exception is raised. It is safe to call this function more than once.

void `pgVideo_AutoQuit`()

  Close the SDL video subsysytem. It is safe to call this function more than once.

void `pg_RegisterQuit`(void (*f)(void))

  Register function f as a callback on Pygame termination. Multiple functions can be registered. Functions are called in the order they were registered.

int `pg_IntFromObj`(PyObject *obj, int *val)

  Convert number like object obj to C int and place in argument val. Return `1` on success, else `0`. No Python exceptions are raised.

int `pg_IntFromObjIndex`(PyObject *obj, int index, int *val)

  Convert number like object at position i in sequence obj to C int and place in argument val. Return `1` on success, else raise a Python exception and return `0`.

int `pg_TwoIntsFromObj`(PyObject *obj, int *val1, int *v2)

  Convert the two number like objects in length 2 sequence obj to C int and place in arguments val1 and val2 respectively. Return `1` on success, else raise a Python exception and return `0`.

int `pg_FloatFromObj`(PyObject *obj, float *val)

  Convert number like object obj to C float and place in argument val. Returns `1` on success, `0` on failure. No Python exceptions are raised.

int `pg_FloatFromObjIndex`(PyObject *obj, int index, float *val)

  Convert number like object at position i in sequence obj to C float and place in argument val. Return `1` on success, else raise a Python exception and return `0`.

int `pg_TwoFloatsFromObj`(PyObject *obj, float *val1, float *val2)

  Convert the two number like objects in length 2 sequence obj to C float and place in arguments val1 and val2 respectively. Return `1` on success, else raise a Python exception and return `0`.

int `pg_UintFromObj`(PyObject *obj, Uint32 *val)

  Convert number like object obj to unsigned 32 bit integer and place in argument val. Return `1` on success, else `0`. No Python exceptions are raised.

int `pg_UintFromObjIndex`(PyObject *obj, int _index, Uint32 *val)

  Convert number like object at position i in sequence obj to unsigned 32 bit integer and place in argument val. Return `1` on success, else raise a Python exception and return `0`.

int `pg_RGBAFromObj`(PyObject *obj, Uint8 *RGBA)

  Convert the color represented by object obj into a red, green, blue, alpha length 4 C array RGBA. The object must be a length 3 or 4 sequence of numbers having values between 0 and 255 inclusive. For a length 3 sequence an alpha value of 255 is assumed. Return `1` on success, `0` otherwise. No Python exceptions are raised.

`pg_buffer`
  Py_buffer `view`

    A standard buffer description

  PyObject* `consumer`

    The object holding the buffer

  pybuffer_releaseproc `release_buffer`

    A buffer release callback.

PyObject *`pgExc_BufferError`

  Python exception type raised for any pg_buffer related errors.

PyObject* `pgBuffer_AsArrayInterface`(Py_buffer *view_p)

  Return a Python array interface object representation of buffer view_p. On failure raise a Python exception and return NULL.

PyObject* `pgBuffer_AsArrayStruct`(Py_buffer *view_p)

  Return a Python array struct object representation of buffer view_p. On failure raise a Python exception and return NULL.

int `pgObject_GetBuffer`(PyObject *obj, pg_buffer *pg_view_p, int flags)

  Request a buffer for object obj. Argument flags are PyBUF options. Return the buffer description in pg_view_p. An object may support the Python buffer interface, the NumPy array interface, or the NumPy array struct interface. Return `0` on success, raise a Python exception and return `-1` on failure.

void `pgBuffer_Release`(Pg_buffer *pg_view_p)

  Release the Pygame pg_view_p buffer.

int `pgDict_AsBuffer`(Pg_buffer *pg_view_p, PyObject *dict, int flags)

  Write the array interface dictionary buffer description dict into a Pygame buffer description struct pg_view_p. The flags PyBUF options describe the view type requested. Return `0` on success, or raise a Python exception and return `-1` on failure.

void `import_pygame_base`()

  Import the pygame.base module C API into an extension module. On failure raise a Python exception.

SDL_Window* `pg_GetDefaultWindow`(void)

  Return the Pygame default SDL window created by a pygame.display.set_mode() call, or NULL.

  Availability: SDL 2.

void `pg_SetDefaultWindow`(SDL_Window *win)

  Replace the Pygame default window with win. The previous window, if any, is destroyed. Argument win may be NULL. This function is called by pygame.display.set_mode().

  Availability: SDL 2.

PyObject* `pg_GetDefaultWindowSurface`(void)

  Return a borrowed reference to the Pygame default window display surface, or NULL if no default window is open.

  Availability: SDL 2.

void `pg_SetDefaultWindowSurface`(PyObject *screen)

  Replace the Pygame default display surface with object screen. The previous surface object, if any, is invalidated. Argument screen may be NULL. This functions is called by pygame.display.set_mode().

  Availability: SDL 2.

Edit on GitHub