@@ -641,12 +641,6 @@ def stamp(self, bitmap=None, palette=None):
641
641
turtle position. Return a stamp_id for that stamp, which can be used to
642
642
delete it by calling clearstamp(stamp_id).
643
643
"""
644
- # The restriction on max_size in displayio.Group has been removed.
645
- # For now, leave this with a limit of 6 so as not to break any
646
- # deployed code.
647
- if len (self ._fg_addon_group ) >= 6 :
648
- print ("Addon group full" )
649
- return - 1
650
644
s_id = len (self ._stamps )
651
645
if self ._turtle_pic is None :
652
646
# easy.
@@ -660,11 +654,7 @@ def stamp(self, bitmap=None, palette=None):
660
654
# odb bitmap
661
655
new_stamp = displayio .TileGrid (
662
656
self ._turtle_odb ,
663
- pixel_shader = getattr (
664
- self ._turtle_odb , "pixel_shader" , displayio .ColorConverter ()
665
- ),
666
- # TODO: Once CP6 is no longer supported, replace the above line with below
667
- # pixel_shader=self._turtle_odb.pixel_shader,
657
+ pixel_shader = self ._turtle_odb .pixel_shader ,
668
658
x = int (self ._x - self ._turtle_odb .width // 2 ),
669
659
y = int (self ._y - self ._turtle_odb .height // 2 ),
670
660
)
@@ -701,8 +691,7 @@ def clearstamp(self, stampid):
701
691
if isinstance (self ._stamps [stampid ], tuple ):
702
692
self ._fg_addon_group .remove (self ._stamps [stampid ][0 ])
703
693
self ._turtle_odb_use -= 1
704
- if self ._turtle_odb_use == 0 :
705
- self ._stamps [stampid ][1 ].close ()
694
+
706
695
else :
707
696
self ._fg_addon_group .remove (self ._stamps [stampid ])
708
697
self ._stamps [stampid ] = None
@@ -970,17 +959,14 @@ def bgpic(self, picname=None):
970
959
if self ._bg_pic is not None :
971
960
self ._bg_addon_group .remove (self ._odb_tilegrid )
972
961
self ._odb_tilegrid = None
973
- self ._bg_pic .close ()
974
962
self ._bg_pic = None
975
963
self ._bg_pic_filename = ""
976
964
else :
977
- with open (picname , "rb" ) as self . _bg_pic :
978
- odb = displayio . OnDiskBitmap ( self . _bg_pic )
965
+ odb = displayio . OnDiskBitmap (picname )
966
+
979
967
self ._odb_tilegrid = displayio .TileGrid (
980
968
odb ,
981
- pixel_shader = getattr (odb , "pixel_shader" , displayio .ColorConverter ()),
982
- # TODO: Once CP6 is no longer supported, replace the above line with below
983
- # pixel_shader=odb.pixel_shader,
969
+ pixel_shader = odb .pixel_shader ,
984
970
)
985
971
self ._bg_addon_group .append (self ._odb_tilegrid )
986
972
self ._bg_pic_filename = picname
@@ -1069,8 +1055,6 @@ def changeturtle(self, source=None, dimensions=(12, 12)):
1069
1055
self ._turtle_odb_use -= 1
1070
1056
self ._turtle_odb = None
1071
1057
if self ._turtle_odb_file is not None :
1072
- if self ._turtle_odb_use == 0 :
1073
- self ._turtle_odb_file .close ()
1074
1058
self ._turtle_odb_file = None
1075
1059
self ._turtle_pic = None
1076
1060
self ._drawturtle ()
@@ -1083,17 +1067,13 @@ def changeturtle(self, source=None, dimensions=(12, 12)):
1083
1067
self ._turtle_alt_sprite = None
1084
1068
self ._turtle_odb = None
1085
1069
if not isinstance (self ._turtle_pic , tuple ):
1086
- self ._turtle_odb_file .close ()
1087
1070
self ._turtle_odb_file = None
1088
1071
self ._turtle_odb_use -= 1
1089
1072
self ._turtle_pic = None
1090
- self ._turtle_odb_file = open ( # pylint: disable=consider-using-with
1091
- source , "rb"
1092
- )
1073
+
1093
1074
try :
1094
- self ._turtle_odb = displayio .OnDiskBitmap (self . _turtle_odb_file )
1075
+ self ._turtle_odb = displayio .OnDiskBitmap (source )
1095
1076
except :
1096
- self ._turtle_odb_file .close ()
1097
1077
self ._turtle_odb_file = None
1098
1078
self ._turtle_pic = None
1099
1079
if visible :
@@ -1103,11 +1083,7 @@ def changeturtle(self, source=None, dimensions=(12, 12)):
1103
1083
self ._turtle_pic = True
1104
1084
self ._turtle_alt_sprite = displayio .TileGrid (
1105
1085
self ._turtle_odb ,
1106
- pixel_shader = getattr (
1107
- self ._turtle_odb , "pixel_shader" , displayio .ColorConverter ()
1108
- ),
1109
- # TODO: Once CP6 is no longer supported, replace the above line with below
1110
- # pixel_shader=self._turtle_odb.pixel_shader,
1086
+ pixel_shader = self ._turtle_odb .pixel_shader ,
1111
1087
)
1112
1088
1113
1089
if self ._turtle_group :
@@ -1119,8 +1095,6 @@ def changeturtle(self, source=None, dimensions=(12, 12)):
1119
1095
if self ._turtle_pic is not None :
1120
1096
if self ._turtle_odb_file is not None :
1121
1097
self ._turtle_odb_use -= 1
1122
- if self ._turtle_odb_use == 0 :
1123
- self ._turtle_odb_file .close ()
1124
1098
self ._turtle_pic = dimensions
1125
1099
self ._turtle_alt_sprite = source
1126
1100
if self ._turtle_group :
0 commit comments