Skip to content

Commit 4ad54b2

Browse files
committed
debugging prints. add rendered_hidden field to tilegrid
1 parent 06057a6 commit 4ad54b2

File tree

4 files changed

+30
-9
lines changed

4 files changed

+30
-9
lines changed

shared-module/displayio/Display.c

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,7 +330,10 @@ STATIC void _refresh_display(displayio_display_obj_t *self) {
330330
return;
331331
}
332332
const displayio_area_t *current_area = _get_refresh_areas(self);
333+
int i = 0;
333334
while (current_area != NULL) {
335+
mp_printf(&mp_plat_print, "calling refresh area: %d \n", i);
336+
i = i + 1;
334337
_refresh_area(self, current_area);
335338
current_area = current_area->next;
336339
}

shared-module/displayio/Group.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -438,7 +438,7 @@ void displayio_group_finish_refresh(displayio_group_t *self) {
438438
}
439439

440440
displayio_area_t *displayio_group_get_refresh_areas(displayio_group_t *self, displayio_area_t *tail) {
441-
if (! self->hidden){
441+
//if (! self->hidden){
442442
if (self->item_removed) {
443443
self->dirty_area.next = tail;
444444
tail = &self->dirty_area;
@@ -457,8 +457,10 @@ displayio_area_t *displayio_group_get_refresh_areas(displayio_group_t *self, dis
457457
layer = mp_obj_cast_to_native_base(
458458
self->members->items[i], &displayio_tilegrid_type);
459459
if (layer != MP_OBJ_NULL) {
460-
if (!common_hal_displayio_tilegrid_get_hidden(layer)){
460+
if (!displayio_tilegrid_get_rendered_hidden(layer)) {
461+
//if (!common_hal_displayio_tilegrid_get_hidden(layer)){
461462
tail = displayio_tilegrid_get_refresh_areas(layer, tail);
463+
//}
462464
}
463465
continue;
464466
}
@@ -468,7 +470,7 @@ displayio_area_t *displayio_group_get_refresh_areas(displayio_group_t *self, dis
468470
tail = displayio_group_get_refresh_areas(layer, tail);
469471
continue;
470472
}
471-
}
473+
// }
472474
}
473475

474476
return tail;

shared-module/displayio/TileGrid.c

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -82,10 +82,16 @@ bool common_hal_displayio_tilegrid_get_hidden(displayio_tilegrid_t *self) {
8282
return self->hidden;
8383
}
8484

85+
bool displayio_tilegrid_get_rendered_hidden(displayio_tilegrid_t *self) {
86+
return self->rendered_hidden;
87+
}
88+
8589
void common_hal_displayio_tilegrid_set_hidden(displayio_tilegrid_t *self, bool hidden) {
8690
self->hidden = hidden;
8791
if (!hidden) {
8892
self->full_change = true;
93+
}else{
94+
self->rendered_hidden = false;
8995
}
9096
}
9197

@@ -578,16 +584,23 @@ void displayio_tilegrid_finish_refresh(displayio_tilegrid_t *self) {
578584
}
579585

580586
displayio_area_t *displayio_tilegrid_get_refresh_areas(displayio_tilegrid_t *self, displayio_area_t *tail) {
587+
//mp_printf(&mp_plat_print, "x1 : %d x2: %d \n", self->previous_area.x1, self->previous_area.x2);
581588
bool first_draw = self->previous_area.x1 == self->previous_area.x2;
582589
bool hidden = self->hidden || self->hidden_by_parent;
590+
//mp_printf(&mp_plat_print, "first draw: %d\n", first_draw);
583591
// Check hidden first because it trumps all other changes.
584592
if (hidden) {
585-
if (!first_draw) {
586-
self->previous_area.next = tail;
587-
return &self->previous_area;
588-
} else {
589-
return tail;
590-
}
593+
//mp_printf(&mp_plat_print, "rendered_hidden: %d\n", self->rendered_hidden);
594+
//if (!self->rendered_hidden){
595+
self->rendered_hidden = true;
596+
if (!first_draw) {
597+
self->previous_area.next = tail;
598+
return &self->previous_area;
599+
} else {
600+
return tail;
601+
}
602+
//}
603+
591604
} else if (self->moved && !first_draw) {
592605
displayio_area_union(&self->previous_area, &self->current_area, &self->dirty_area);
593606
if (displayio_area_size(&self->dirty_area) <= 2U * self->pixel_width * self->pixel_height) {

shared-module/displayio/TileGrid.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -66,6 +66,7 @@ typedef struct {
6666
bool transpose_xy : 1;
6767
bool hidden : 1;
6868
bool hidden_by_parent : 1;
69+
bool rendered_hidden : 1;
6970
uint8_t padding : 6;
7071
} displayio_tilegrid_t;
7172

@@ -86,4 +87,6 @@ void displayio_tilegrid_update_transform(displayio_tilegrid_t *group, const disp
8687
bool displayio_tilegrid_get_previous_area(displayio_tilegrid_t *self, displayio_area_t *area);
8788
void displayio_tilegrid_finish_refresh(displayio_tilegrid_t *self);
8889

90+
bool displayio_tilegrid_get_rendered_hidden(displayio_tilegrid_t *self);
91+
8992
#endif // MICROPY_INCLUDED_SHARED_MODULE_DISPLAYIO_TILEGRID_H

0 commit comments

Comments
 (0)