]> Repositories - hackapet/Adafruit_Blinka_Displayio.git/blobdiff - displayio/_tilegrid.py
Fix TileGrid flip_x, flip_y and transpose_xy
[hackapet/Adafruit_Blinka_Displayio.git] / displayio / _tilegrid.py
index ca3a31f0d7340512075b2f693675d42b74c172dc..316543d243ee9b90332a63863b1e82bbc4182053 100644 (file)
@@ -26,7 +26,7 @@ from ._shape import Shape
 from ._palette import Palette
 from ._structs import RectangleStruct, TransformStruct
 
-__version__ = "0.0.0-auto.0"
+__version__ = "0.0.0+auto.0"
 __repo__ = "https://github.com/adafruit/Adafruit_Blinka_displayio.git"
 
 
@@ -265,11 +265,11 @@ class TileGrid:
                     ),
                     resample=Image.NEAREST,
                 )
-            if absolute_transform.mirror_x:
+            if absolute_transform.mirror_x != self._flip_x:
                 image = image.transpose(Image.FLIP_LEFT_RIGHT)
-            if absolute_transform.mirror_y:
+            if absolute_transform.mirror_y != self._flip_y:
                 image = image.transpose(Image.FLIP_TOP_BOTTOM)
-            if absolute_transform.transpose_xy:
+            if absolute_transform.transpose_xy != self._transpose_xy:
                 image = image.transpose(Image.TRANSPOSE)
             x *= absolute_transform.dx
             y *= absolute_transform.dy
@@ -444,3 +444,23 @@ class TileGrid:
         if not 0 <= value <= 255:
             raise ValueError("Tile value out of bounds")
         self._tiles[index] = value
+
+    @property
+    def width(self) -> int:
+        """Width in tiles"""
+        return self._width
+
+    @property
+    def height(self) -> int:
+        """Height in tiles"""
+        return self._height
+
+    @property
+    def tile_width(self) -> int:
+        """Width of each tile in pixels"""
+        return self._tile_width
+
+    @property
+    def tile_height(self) -> int:
+        """Height of each tile in pixels"""
+        return self._tile_height