docs/reST/c_api/rect.rst
.. include:: ../common.txt
.. highlight:: c
Class Rect API exported by pygame.rect
This extension module defines Python type :py:class:pygame.Rect.
Header file: src_c/include/pygame.h
.. c:type:: pgRectObject
.. c:member:: SDL_Rect r
The Pygame rectangle type instance.
.. c:var:: PyTypeObject *pgRect_Type
The Pygame rectangle object type pygame.Rect.
.. c:function:: SDL_Rect pgRect_AsRect(PyObject *obj)
A macro to access the SDL_Rect field of a :py:class:pygame.Rect instance.
.. c:function:: PyObject* pgRect_New(SDL_Rect *r)
Return a new :py:class:pygame.Rect instance from the SDL_Rect r.
On failure, raise a Python exception and return NULL.
.. c:function:: 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.
.. c:function:: SDL_Rect* pgRect_FromObject(PyObject *obj, SDL_Rect *temp)
Translate a Python rectangle representation as a Pygame :c:type: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 :c:type: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 :c:type:SDL_Rect representation
of the rectangle, else return NULL.
No Python exceptions are raised.
.. c:function:: 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.
.. c:function:: int pgRect_Check(PyObject *obj)
A macro to check if obj is a :py:class:pygame.Rect instance.