- first_draw = self._previous_area.x1 == self._previous_area.x2
- hidden = self._hidden_tilegrid or self._hidden_by_parent
- if not first_draw and hidden:
- self._previous_area.x2 = self._previous_area.x1
- elif self._moved or first_draw:
- self._current_area.copy_into(self._previous_area)
-
- self._moved = False
- self._full_change = False
- self._partial_change = False
- if isinstance(self._pixel_shader, (Palette, ColorConverter)):
- self._pixel_shader._finish_refresh() # pylint: disable=protected-access
- if isinstance(self._bitmap, Bitmap):
- self._bitmap._finish_refresh() # pylint: disable=protected-access
+ if not self._needs_refresh:
+ first_draw = self._previous_area.x1 == self._previous_area.x2
+ hidden = self._hidden_tilegrid or self._hidden_by_parent
+ if not first_draw and hidden:
+ self._previous_area.x2 = self._previous_area.x1
+ elif self._moved or first_draw:
+ self._current_area.copy_into(self._previous_area)
+
+ self._moved = False
+ self._full_change = False
+ self._partial_change = False
+ if isinstance(self._pixel_shader, (Palette, ColorConverter)):
+ self._pixel_shader._finish_refresh() # pylint: disable=protected-access
+ if isinstance(self._bitmap, Bitmap):
+ self._bitmap._finish_refresh() # pylint: disable=protected-access