From 488c3c329550cf31629c4408627bb0aba7c3f27d Mon Sep 17 00:00:00 2001 From: James Carr Date: Sun, 11 Jul 2021 15:51:40 +0100 Subject: [PATCH 1/2] Add an example which uses the methods that use OnDiskBitmap --- examples/icons/Play_48x48_small.bmp | Bin 0 -> 1302 bytes examples/icons/Play_48x48_small.bmp.license | 2 ++ examples/turtle_bgpic_changeturtle.py | 37 ++++++++++++++++++++ 3 files changed, 39 insertions(+) create mode 100644 examples/icons/Play_48x48_small.bmp create mode 100644 examples/icons/Play_48x48_small.bmp.license create mode 100644 examples/turtle_bgpic_changeturtle.py diff --git a/examples/icons/Play_48x48_small.bmp b/examples/icons/Play_48x48_small.bmp new file mode 100644 index 0000000000000000000000000000000000000000..eb446a1dbbab3c873e99b15c0a1f65dbb549c628 GIT binary patch literal 1302 zcmc(bzfQw25Qnd*EnC4Y>H}2iUa1xjkY2-tl$Ml{solDDVM06sBP%Ns6Kl6h6>q@% zaQ+kf?6^owoaET~?&r@=^4nntbiLAZOJib33)-4L({${aaZW^y{ARh+%|ATOqU^=n z7JBbHxcq#C!Tt%xUoUVt9^m2o16KcA<%#3VZn{yzJlQA#HmL^j_6ZK1M1%54ljaGN z=Fq&X;mylh-inX5ykRn22oZhuf{>~3vllfM!{7+d#h5o37u>}872Ci$KZ5iA$eRow z*~*-0StB*e+}(-u43qf`r`~V!Q&l*dJN@cTBaQLeW6$MUGVHj-nU_ Date: Sun, 11 Jul 2021 15:53:21 +0100 Subject: [PATCH 2/2] Update the pixel_shader usage of OnDiskBitmap --- adafruit_turtle.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/adafruit_turtle.py b/adafruit_turtle.py index 548d0b6..07e732d 100644 --- a/adafruit_turtle.py +++ b/adafruit_turtle.py @@ -638,6 +638,9 @@ def stamp(self, bitmap=None, palette=None): turtle position. Return a stamp_id for that stamp, which can be used to delete it by calling clearstamp(stamp_id). """ + # The restriction on max_size in displayio.Group has been removed. + # For now, leave this with a limit of 6 so as not to break any + # deployed code. if len(self._fg_addon_group) >= 6: print("Addon group full") return -1 @@ -654,7 +657,11 @@ def stamp(self, bitmap=None, palette=None): # odb bitmap new_stamp = displayio.TileGrid( self._turtle_odb, - pixel_shader=displayio.ColorConverter(), + pixel_shader=getattr( + self._turtle_odb, "pixel_shader", displayio.ColorConverter() + ), + # TODO: Once CP6 is no longer supported, replace the above line with below + # pixel_shader=self._turtle_odb.pixel_shader, x=int(self._x - self._turtle_odb.width // 2), y=int(self._y - self._turtle_odb.height // 2), ) @@ -967,7 +974,10 @@ def bgpic(self, picname=None): self._bg_pic = open(picname, "rb") odb = displayio.OnDiskBitmap(self._bg_pic) self._odb_tilegrid = displayio.TileGrid( - odb, pixel_shader=displayio.ColorConverter() + odb, + pixel_shader=getattr(odb, "pixel_shader", displayio.ColorConverter()), + # TODO: Once CP6 is no longer supported, replace the above line with below + # pixel_shader=odb.pixel_shader, ) self._bg_addon_group.append(self._odb_tilegrid) self._bg_pic_filename = picname @@ -1087,7 +1097,12 @@ def changeturtle(self, source=None, dimensions=(12, 12)): self._turtle_odb_use += 1 self._turtle_pic = True self._turtle_alt_sprite = displayio.TileGrid( - self._turtle_odb, pixel_shader=displayio.ColorConverter() + self._turtle_odb, + pixel_shader=getattr( + self._turtle_odb, "pixel_shader", displayio.ColorConverter() + ), + # TODO: Once CP6 is no longer supported, replace the above line with below + # pixel_shader=self._turtle_odb.pixel_shader, ) if self._turtle_group: