blit(source, dest, area=None, special_flags = 0) -> Rect
The new blits API.
blits(args) -> [rects]
args = [(source: Surface, dest: Rect, area: Rect = None, special_flags: int = 0), ...]
Draws a sequence of Surfaces onto this Surface...
:Example:
>>> surf.blits([(source, dest),
(source, dest),
(source, dest, area),
(source, dest, area, BLEND_ADD
)]
[Rect(), Rect(), Rect(), Rect()]
One potential option...
- Have a return_rects=False
argument, where if you pass it, then it can return None instead of a
list of rects. This way you avoid allocating a list, and all the rects
inside it. I'll benchmark this to see if it's worth it -- but I have a feeling all those allocations will be significant. But some people don't track updates, so allocating the rects is not worth it for them. eg. the implementation from Leif doesn't return rects.