Skip to content

Commit 15e766f

Browse files
Update the pixel_shader usage of OnDiskBitmap
1 parent 488c3c3 commit 15e766f

File tree

1 file changed

+18
-3
lines changed

1 file changed

+18
-3
lines changed

adafruit_turtle.py

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -638,6 +638,9 @@ def stamp(self, bitmap=None, palette=None):
638638
turtle position. Return a stamp_id for that stamp, which can be used to
639639
delete it by calling clearstamp(stamp_id).
640640
"""
641+
# The restriction on max_size in displayio.Group has been removed.
642+
# For now, leave this with a limit of 6 so as not to break any
643+
# deployed code.
641644
if len(self._fg_addon_group) >= 6:
642645
print("Addon group full")
643646
return -1
@@ -654,7 +657,11 @@ def stamp(self, bitmap=None, palette=None):
654657
# odb bitmap
655658
new_stamp = displayio.TileGrid(
656659
self._turtle_odb,
657-
pixel_shader=displayio.ColorConverter(),
660+
pixel_shader=getattr(
661+
self._turtle_odb, "pixel_shader", displayio.ColorConverter()
662+
),
663+
# TODO: Once CP6 is no longer supported, replace the above line with below
664+
# pixel_shader=self._turtle_odb.pixel_shader,
658665
x=int(self._x - self._turtle_odb.width // 2),
659666
y=int(self._y - self._turtle_odb.height // 2),
660667
)
@@ -967,7 +974,10 @@ def bgpic(self, picname=None):
967974
self._bg_pic = open(picname, "rb")
968975
odb = displayio.OnDiskBitmap(self._bg_pic)
969976
self._odb_tilegrid = displayio.TileGrid(
970-
odb, pixel_shader=displayio.ColorConverter()
977+
odb,
978+
pixel_shader=getattr(odb, "pixel_shader", displayio.ColorConverter()),
979+
# TODO: Once CP6 is no longer supported, replace the above line with below
980+
# pixel_shader=odb.pixel_shader,
971981
)
972982
self._bg_addon_group.append(self._odb_tilegrid)
973983
self._bg_pic_filename = picname
@@ -1087,7 +1097,12 @@ def changeturtle(self, source=None, dimensions=(12, 12)):
10871097
self._turtle_odb_use += 1
10881098
self._turtle_pic = True
10891099
self._turtle_alt_sprite = displayio.TileGrid(
1090-
self._turtle_odb, pixel_shader=displayio.ColorConverter()
1100+
self._turtle_odb,
1101+
pixel_shader=getattr(
1102+
self._turtle_odb, "pixel_shader", displayio.ColorConverter()
1103+
),
1104+
# TODO: Once CP6 is no longer supported, replace the above line with below
1105+
# pixel_shader=self._turtle_odb.pixel_shader,
10911106
)
10921107

10931108
if self._turtle_group:

0 commit comments

Comments
 (0)