File tree Expand file tree Collapse file tree
shared-bindings/framebufferio
shared-module/framebufferio Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -328,8 +328,24 @@ STATIC mp_obj_t framebufferio_framebufferdisplay_obj_get_root_group(mp_obj_t sel
328328}
329329MP_DEFINE_CONST_FUN_OBJ_1 (framebufferio_framebufferdisplay_get_root_group_obj , framebufferio_framebufferdisplay_obj_get_root_group );
330330
331- MP_PROPERTY_GETTER (framebufferio_framebufferdisplay_root_group_obj ,
332- (mp_obj_t )& framebufferio_framebufferdisplay_get_root_group_obj );
331+ STATIC mp_obj_t framebufferio_framebufferdisplay_obj_set_root_group (mp_obj_t self_in , mp_obj_t group_in ) {
332+ framebufferio_framebufferdisplay_obj_t * self = native_display (self_in );
333+ displayio_group_t * group = NULL ;
334+ if (group_in != mp_const_none ) {
335+ group = MP_OBJ_TO_PTR (native_group (group_in ));
336+ }
337+
338+ bool ok = common_hal_framebufferio_framebufferdisplay_set_root_group (self , group );
339+ if (!ok ) {
340+ mp_raise_ValueError (translate ("Group already used" ));
341+ }
342+ return mp_const_none ;
343+ }
344+ MP_DEFINE_CONST_FUN_OBJ_2 (framebufferio_framebufferdisplay_set_root_group_obj , framebufferio_framebufferdisplay_obj_set_root_group );
345+
346+ MP_PROPERTY_GETSET (framebufferio_framebufferdisplay_root_group_obj ,
347+ (mp_obj_t )& framebufferio_framebufferdisplay_get_root_group_obj ,
348+ (mp_obj_t )& framebufferio_framebufferdisplay_set_root_group_obj );
333349
334350STATIC const mp_rom_map_elem_t framebufferio_framebufferdisplay_locals_dict_table [] = {
335351 { MP_ROM_QSTR (MP_QSTR_show ), MP_ROM_PTR (& framebufferio_framebufferdisplay_show_obj ) },
Original file line number Diff line number Diff line change @@ -61,5 +61,6 @@ bool common_hal_framebufferio_framebufferdisplay_set_brightness(framebufferio_fr
6161mp_obj_t common_hal_framebufferio_framebufferdisplay_framebuffer (framebufferio_framebufferdisplay_obj_t * self );
6262
6363mp_obj_t common_hal_framebufferio_framebufferdisplay_get_root_group (framebufferio_framebufferdisplay_obj_t * self );
64+ mp_obj_t common_hal_framebufferio_framebufferdisplay_set_root_group (framebufferio_framebufferdisplay_obj_t * self , displayio_group_t * root_group );
6465
6566#endif // MICROPY_INCLUDED_SHARED_BINDINGS_DISPLAYIO_FRAMEBUFFERDISPLAY_H
Original file line number Diff line number Diff line change @@ -362,3 +362,11 @@ void framebufferio_framebufferdisplay_reset(framebufferio_framebufferdisplay_obj
362362mp_obj_t common_hal_framebufferio_framebufferdisplay_get_root_group (framebufferio_framebufferdisplay_obj_t * self ) {
363363 return self -> core .current_group ;
364364}
365+
366+ mp_obj_t common_hal_framebufferio_framebufferdisplay_set_root_group (framebufferio_framebufferdisplay_obj_t * self , displayio_group_t * root_group ) {
367+ bool ok = displayio_display_core_set_root_group (& self -> core , root_group );
368+ if (!ok ) {
369+ mp_raise_ValueError (translate ("Group already used" ));
370+ }
371+ return mp_const_none ;
372+ }
You can’t perform that action at this time.
0 commit comments