Skip to content

Commit 666a5ff

Browse files
committed
trying to make vectorio shape hidable
1 parent d9418fb commit 666a5ff

File tree

1 file changed

+34
-24
lines changed

1 file changed

+34
-24
lines changed

shared-module/displayio/Group.c

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -358,35 +358,45 @@ void displayio_group_construct(displayio_group_t *self, mp_obj_list_t *members,
358358
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) {
359359
// Track if any of the layers finishes filling in the given area. We can ignore any remaining
360360
// 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;
369378
}
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;
378387
}
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;
386395
}
387-
continue;
388396
}
389397
}
398+
399+
390400
return false;
391401
}
392402

0 commit comments

Comments
 (0)