##### 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 | PixelArray | pixelcopy | sndarray | surfarray | math Other: camera | controller | examples | fastevent | scrap | tests | touch | version

## src_c/rect.c

This extension module defines Python type `pygame.Rect` pygame object for storing rectangular coordinates.

Header file: src_c/include/pygame.h

type pgRectObject
  SDL_Rect r

  The Pygame rectangle type instance.

PyTypeObject *pgRect_Type

  The Pygame rectangle object type pygame.Rect.

SDL_Rect pgRect_AsRect(PyObject *obj)

  A macro to access the SDL_Rect field of a `pygame.Rect` instance.

PyObject *pgRect_New(SDL_Rect *r)

  Return a new `pygame.Rect` instance from the SDL_Rect r. On failure, raise a Python exception and return NULL.

PyObject *pgRect_New4(int x, int y, int w, int h)

  Return a new pygame.Rect instance with position (x, y) and size (w, h). On failure raise a Python exception and return NULL.

SDL_Rect *pgRect_FromObject(PyObject *obj, SDL_Rect *temp)

  Translate a Python rectangle representation as a Pygame `SDL_Rect`. A rectangle can be a length 4 sequence integers (x, y, w, h), or a length 2 sequence of position (x, y) and size (w, h), or a length 1 tuple containing a rectangle representation, or have a method rect that returns a rectangle. Pass a pointer to a locally declared `SDL_Rect` as temp. Do not rely on this being filled in; use the function's return value instead. On success, return a pointer to a `SDL_Rect` representation of the rectangle, else return NULL. No Python exceptions are raised.

void pgRect_Normalize(SDL_Rect *rect)

  Normalize the given rect. A rect with a negative size (negative width and/or height) will be adjusted to have a positive size.

Edit on GitHub