@@ -358,35 +358,45 @@ void displayio_group_construct(displayio_group_t *self, mp_obj_list_t *members,
358
358
bool displayio_group_fill_area (displayio_group_t * self , const _displayio_colorspace_t * colorspace , const displayio_area_t * area , uint32_t * mask , uint32_t * buffer ) {
359
359
// Track if any of the layers finishes filling in the given area. We can ignore any remaining
360
360
// layers at that point.
361
- for (int32_t i = self -> members -> len - 1 ; i >= 0 ; i -- ) {
362
- mp_obj_t layer ;
363
- #if CIRCUITPY_VECTORIO
364
- const vectorio_draw_protocol_t * draw_protocol = mp_proto_get (MP_QSTR_protocol_draw , self -> members -> items [i ]);
365
- if (draw_protocol != NULL ) {
366
- layer = draw_protocol -> draw_get_protocol_self (self -> members -> items [i ]);
367
- if (draw_protocol -> draw_protocol_impl -> draw_fill_area (layer , colorspace , area , mask , buffer )) {
368
- return true;
361
+ //mp_printf(&mp_plat_print, "inside fill area \n");
362
+ //mp_printf(&mp_plat_print, "%d \n", self->hidden);
363
+ //mp_printf(&mp_plat_print, "\n");
364
+
365
+ //mp_printf(&mp_plat_print, "inside fill area \n");
366
+ if (self -> hidden == false){
367
+ //mp_printf(&mp_plat_print, "not hidden\n");
368
+ for (int32_t i = self -> members -> len - 1 ; i >= 0 ; i -- ) {
369
+ mp_obj_t layer ;
370
+ #if CIRCUITPY_VECTORIO
371
+ const vectorio_draw_protocol_t * draw_protocol = mp_proto_get (MP_QSTR_protocol_draw , self -> members -> items [i ]);
372
+ if (draw_protocol != NULL ) {
373
+ layer = draw_protocol -> draw_get_protocol_self (self -> members -> items [i ]);
374
+ if (draw_protocol -> draw_protocol_impl -> draw_fill_area (layer , colorspace , area , mask , buffer )) {
375
+ return true;
376
+ }
377
+ continue ;
369
378
}
370
- continue ;
371
- }
372
- #endif
373
- layer = mp_obj_cast_to_native_base (
374
- self -> members -> items [ i ], & displayio_tilegrid_type );
375
- if ( layer != MP_OBJ_NULL ) {
376
- if ( displayio_tilegrid_fill_area ( layer , colorspace , area , mask , buffer )) {
377
- return true ;
379
+ #endif
380
+ layer = mp_obj_cast_to_native_base (
381
+ self -> members -> items [ i ], & displayio_tilegrid_type );
382
+ if ( layer != MP_OBJ_NULL ) {
383
+ if ( displayio_tilegrid_fill_area ( layer , colorspace , area , mask , buffer )) {
384
+ return true;
385
+ }
386
+ continue ;
378
387
}
379
- continue ;
380
- }
381
- layer = mp_obj_cast_to_native_base (
382
- self -> members -> items [ i ], & displayio_group_type );
383
- if ( layer != MP_OBJ_NULL ) {
384
- if ( displayio_group_fill_area ( layer , colorspace , area , mask , buffer )) {
385
- return true ;
388
+ layer = mp_obj_cast_to_native_base (
389
+ self -> members -> items [ i ], & displayio_group_type );
390
+ if ( layer != MP_OBJ_NULL ) {
391
+ if ( displayio_group_fill_area ( layer , colorspace , area , mask , buffer )) {
392
+ return true;
393
+ }
394
+ continue ;
386
395
}
387
- continue ;
388
396
}
389
397
}
398
+
399
+
390
400
return false;
391
401
}
392
402
0 commit comments