+ # pylint: disable=invalid-name
+ if x2 == -1:
+ x2 = self._bmp_width
+ if y2 == -1:
+ y2 = self._bmp_height
+ area = Area(x1, y1, x2, y2)
+ area.canon()
+ area.union(self._dirty_area, area)
+ bitmap_area = Area(0, 0, self._bmp_width, self._bmp_height)
+ area.compute_overlap(bitmap_area, self._dirty_area)
+
+ def _finish_refresh(self):
+ if self._read_only:
+ return
+ self._dirty_area.x1 = 0
+ self._dirty_area.x2 = 0
+
+ def _get_refresh_areas(self, areas: list[Area]) -> None:
+ if self._dirty_area.x1 == self._dirty_area.x2 or self._read_only:
+ return
+ areas.append(self._dirty_area)