Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
:param surface: pygame surface to draw to
:param rect: area to draw to
:param surfaces: optional sequence of surfaces to interlace between tiles
"""
self._tile_queue = self.data.process_animation_queue(self._tile_view)
self._tile_queue and self._flush_tile_queue(self._buffer)
# TODO: could maybe optimize to remove just the edges, ideally by drawing lines
# if not self.anchored_view:
# surface.fill(self._clear_color, self._previous_blit)
if not self._anchored_view:
self._clear_surface(surface, self._previous_blit)
offset = -self._x_offset + rect.left, -self._y_offset + rect.top
with surface_clipping_context(surface, rect):
self._previous_blit = surface.blit(self._buffer, offset)
if surfaces:
surfaces_offset = -offset[0], -offset[1]
self._draw_surfaces(surface, surfaces_offset, surfaces)