]> Repositories - hackapet/Adafruit_Blinka_Displayio.git/commitdiff
Merge pull request #159 from philrittenhouse/main 2.1.8
authorfoamyguy <foamyguy@gmail.com>
Thu, 17 Apr 2025 21:44:10 +0000 (16:44 -0500)
committerGitHub <noreply@github.com>
Thu, 17 Apr 2025 21:44:10 +0000 (16:44 -0500)
Fixes for issue #158

README.rst
displayio/_area.py
vectorio/_circle.py
vectorio/_vectorshape.py

index 8007209389cfddadcb216269d7d828911fbc61e0..4338cae5666ac6089b6066d699286dd5ac2e43fe 100644 (file)
@@ -58,6 +58,8 @@ Contributions are welcome! Please read our `Code of Conduct
 <https://github.com/adafruit/Adafruit_blinka_CircuitPython_displayio/blob/master/CODE_OF_CONDUCT.md>`_
 before contributing to help this project stay welcoming.
 
+To make sure your pull request will pass the commit checks, use pre-commit to check your code formatting. Please see the guide page here for more details: https://learn.adafruit.com/contribute-to-circuitpython-with-git-and-github/check-your-code
+
 Documentation
 =============
 
index f7272dd747bf25ae79ca94987ce278f0914b797a..0b3dd80b8b5a908dcca61630a00732d5a2776b20 100644 (file)
@@ -87,10 +87,10 @@ class Area:
     def union(self, other, union):
         """Combine this area along with another into union"""
         if self.empty():
-            self.copy_into(union)
+            other.copy_into(union)
             return
         if other.empty():
-            other.copy_into(union)
+            self.copy_into(union)
             return
 
         union.x1 = min(self.x1, other.x1)
index cc87351b8a9b5c2af665a271108bd21b8f093eb3..339b1540ff31c08e0e4b94db8eab47d831c5c16b 100644 (file)
@@ -61,7 +61,7 @@ class Circle(_VectorShape):
     def radius(self, value: int) -> None:
         if value < 1:
             raise ValueError("radius must be >= 1")
-        self._radius = abs(value)
+        self._radius = int(value)  # other code assumes radius is an integer
         self._shape_set_dirty()
 
     @property
index d3d1ddb3012155e1ef49db4e7be36b5b789d2f7d..735e5ae501a4b3863bd78be485c625b9bb01660b 100644 (file)
@@ -122,9 +122,12 @@ class _VectorShape:
         self._get_screen_area(current_area)
         moved = current_area != self._current_area
         if moved:
+            # This will add _current_area (the old position) to dirty area
             self._current_area.union(
                 self._ephemeral_dirty_area, self._ephemeral_dirty_area
             )
+            # This will add the new position to the dirty area
+            current_area.union(self._ephemeral_dirty_area, self._ephemeral_dirty_area)
             # Dirty area tracks the shape's footprint between draws.  It's reset on refresh finish.
             current_area.copy_into(self._current_area)
         self._current_area_dirty = True