src_c/surflock.c¶
This extension module implements SDL surface locking for the
pygame.Surfacepygame object for representing images type.
Header file: src_c/include/pygame.h
- 
type pgLifetimeLockObject¶
- 
PyObject *surface¶
- An SDL locked pygame surface. 
 - 
PyObject *lockobj¶
- The Python object which owns the lock on the surface. This field does not own a reference to the object. 
 - The lifetime lock type instance. A lifetime lock pairs a locked pygame surface with the Python object that locked the surface for modification. The lock is removed automatically when the lifetime lock instance is garbage collected. 
- 
PyObject *surface¶
- 
PyTypeObject *pgLifetimeLock_Type¶
- The pygame internal surflock lifetime lock object type. 
- 
int pgLifetimeLock_Check(PyObject *x)¶
- Return true if Python object x is a - pgLifetimeLock_Typeinstance, false otherwise. This will return false on- pgLifetimeLock_Typesubclass instances as well.
- 
void pgSurface_Prep(pgSurfaceObject *surfobj)¶
- If surfobj is a subsurface, then lock the parent surface with surfobj the owner of the lock. 
- 
void pgSurface_Unprep(pgSurfaceObject *surfobj)¶
- If surfobj is a subsurface, then release its lock on the parent surface. 
- 
int pgSurface_Lock(pgSurfaceObject *surfobj)¶
- Lock pygame surface surfobj, with surfobj owning its own lock. 
- 
int pgSurface_LockBy(pgSurfaceObject *surfobj, PyObject *lockobj)¶
- Lock pygame surface surfobj with Python object lockobj the owning the lock. - The surface will keep a weak reference to object lockobj, and eventually remove the lock on itself if lockobj is garbage collected. However, it is best if lockobj also keep a reference to the locked surface and call to - pgSurface_UnLockBy()when finished with the surface.
- 
int pgSurface_UnLock(pgSurfaceObject *surfobj)¶
- Remove the pygame surface surfobj object's lock on itself. 
- 
int pgSurface_UnLockBy(pgSurfaceObject *surfobj, PyObject *lockobj)¶
- Remove the lock on pygame surface surfobj owned by Python object lockobj. 
- 
PyObject *pgSurface_LockLifetime(PyObject *surfobj, PyObject *lockobj)¶
- Lock pygame surface surfobj for Python object lockobj and return a new - pgLifetimeLock_Typeinstance for the lock.- This function is not called anywhere within pygame. It and pgLifetimeLock_Type are candidates for removal. 
Edit on GitHub
