1111
1212class  Electioncal_Graphics (displayio .Group ):
1313    def  __init__ (self , root_group , * , am_pm = True ):
14-         super ().__init__ (max_size = 2 )
14+         super ().__init__ ()
1515        self .am_pm  =  am_pm 
1616        root_group .append (self )
17-         self ._icon_group  =  displayio .Group (max_size = 1 )
17+         self ._icon_group  =  displayio .Group ()
1818        self .append (self ._icon_group )
19-         self ._text_group  =  displayio .Group (max_size = 9 )
19+         self ._text_group  =  displayio .Group ()
2020        self .append (self ._text_group )
2121
2222        self ._icon_sprite  =  None 
23-         self ._icon_file  =  None 
23+         self ._icon_file  =  None    # Remove when CircuitPython 6 support is dropped 
2424        self .set_icon (cwd + "/icons/electioncal.bmp" )
2525
2626        self .small_font  =  bitmap_font .load_font (small_font )
@@ -29,38 +29,38 @@ def __init__(self, root_group, *, am_pm=True):
2929        self .small_font .load_glyphs (glyphs )
3030        self .medium_font .load_glyphs (glyphs )
3131
32-         self .date_text  =  Label (self .small_font ,  max_glyphs = 21 )
32+         self .date_text  =  Label (self .small_font )
3333        self .date_text .x  =  15 
3434        self .date_text .y  =  195 
3535        self .date_text .color  =  0xFFFFFF 
3636        self ._text_group .append (self .date_text )
3737
38-         self .url_text  =  Label (self .small_font ,  max_glyphs = 35 )
38+         self .url_text  =  Label (self .small_font )
3939        self .url_text .x  =  15 
4040        self .url_text .y  =  220 
4141        self .url_text .color  =  0xFFFFFF 
4242        self ._text_group .append (self .url_text )
4343        self .url_text .text  =  "Visit us at https://electioncal.us" 
4444
45-         self .state_text  =  Label (self .small_font ,  max_glyphs = 60 )
45+         self .state_text  =  Label (self .small_font )
4646        self .state_text .x  =  15 
4747        self .state_text .y  =  10 
4848        self .state_text .color  =  0xFFFFFF 
4949        self ._text_group .append (self .state_text )
5050
51-         self .election_date_text  =  Label (self .medium_font ,  max_glyphs = 11 )
51+         self .election_date_text  =  Label (self .medium_font )
5252        self .election_date_text .x  =  15 
5353        self .election_date_text .y  =  60 
5454        self .election_date_text .color  =  0xFFFFFF 
5555        self ._text_group .append (self .election_date_text )
5656
57-         self .election_name_text  =  Label (self .small_font ,  max_glyphs = 60 )
57+         self .election_name_text  =  Label (self .small_font )
5858        self .election_name_text .x  =  15 
5959        self .election_name_text .y  =  95 
6060        self .election_name_text .color  =  0xFFFFFF 
6161        self ._text_group .append (self .election_name_text )
6262
63-         self .election_name_text_line2  =  Label (self .small_font ,  max_glyphs = 60 )
63+         self .election_name_text_line2  =  Label (self .small_font )
6464        self .election_name_text_line2 .x  =  15 
6565        self .election_name_text_line2 .y  =  120 
6666        self .election_name_text_line2 .color  =  0xFFFFFF 
@@ -137,15 +137,19 @@ def set_icon(self, filename):
137137
138138        if  not  filename :
139139            return   # we're done, no icon desired 
140+ 
141+         # CircuitPython 6 & 7 compatible 
140142        if  self ._icon_file :
141143            self ._icon_file .close ()
142144        self ._icon_file  =  open (filename , "rb" )
143145        icon  =  displayio .OnDiskBitmap (self ._icon_file )
144-         try :
145-             self ._icon_sprite  =  displayio .TileGrid (icon ,
146-                                                    pixel_shader = getattr (icon , 'pixel_shader' , displayio .ColorConverter ()))
147-         except  TypeError :
148-             self ._icon_sprite  =  displayio .TileGrid (icon ,
149-                                                    pixel_shader = getattr (icon , 'pixel_shader' , displayio .ColorConverter ()),
150-                                                    position = (0 ,0 ))
151-         self ._icon_group .append (self ._icon_sprite )
146+         self ._icon_sprite  =  displayio .TileGrid (
147+             icon ,
148+             pixel_shader = getattr (icon , 'pixel_shader' , displayio .ColorConverter ())
149+         )
150+ 
151+         # # CircuitPython 7+ compatible 
152+         # icon = displayio.OnDiskBitmap(filename) 
153+         # self._icon_sprite = displayio.TileGrid(icon, pixel_shader=icon.pixel_shader) 
154+ 
155+         self ._icon_group .append (self ._icon_sprite )
0 commit comments