@@ -90,6 +90,32 @@ displayio_group_t* native_group(mp_obj_t group_obj) {
9090 return MP_OBJ_TO_PTR (native_group );
9191}
9292
93+ //| .. attribute:: hidden
94+ //|
95+ //| True when the Group and all of it's layers are not visible. When False, the Group's layers
96+ //| are visible if they haven't been hidden.
97+ //|
98+ STATIC mp_obj_t displayio_group_obj_get_hidden (mp_obj_t self_in ) {
99+ displayio_group_t * self = native_group (self_in );
100+ return mp_obj_new_bool (common_hal_displayio_group_get_hidden (self ));
101+ }
102+ MP_DEFINE_CONST_FUN_OBJ_1 (displayio_group_get_hidden_obj , displayio_group_obj_get_hidden );
103+
104+ STATIC mp_obj_t displayio_group_obj_set_hidden (mp_obj_t self_in , mp_obj_t hidden_obj ) {
105+ displayio_group_t * self = native_group (self_in );
106+
107+ common_hal_displayio_group_set_hidden (self , mp_obj_is_true (hidden_obj ));
108+ return mp_const_none ;
109+ }
110+ MP_DEFINE_CONST_FUN_OBJ_2 (displayio_group_set_hidden_obj , displayio_group_obj_set_hidden );
111+
112+ const mp_obj_property_t displayio_group_hidden_obj = {
113+ .base .type = & mp_type_property ,
114+ .proxy = {(mp_obj_t )& displayio_group_get_hidden_obj ,
115+ (mp_obj_t )& displayio_group_set_hidden_obj ,
116+ (mp_obj_t )& mp_const_none_obj },
117+ };
118+
93119//| .. attribute:: scale
94120//|
95121//| Scales each pixel within the Group in both directions. For example, when scale=2 each pixel
@@ -305,6 +331,7 @@ STATIC mp_obj_t group_subscr(mp_obj_t self_in, mp_obj_t index_obj, mp_obj_t valu
305331}
306332
307333STATIC const mp_rom_map_elem_t displayio_group_locals_dict_table [] = {
334+ { MP_ROM_QSTR (MP_QSTR_hidden ), MP_ROM_PTR (& displayio_group_hidden_obj ) },
308335 { MP_ROM_QSTR (MP_QSTR_scale ), MP_ROM_PTR (& displayio_group_scale_obj ) },
309336 { MP_ROM_QSTR (MP_QSTR_x ), MP_ROM_PTR (& displayio_group_x_obj ) },
310337 { MP_ROM_QSTR (MP_QSTR_y ), MP_ROM_PTR (& displayio_group_y_obj ) },
0 commit comments