File tree Expand file tree Collapse file tree 3 files changed +27
-2
lines changed
shared-bindings/framebufferio
shared-module/framebufferio Expand file tree Collapse file tree 3 files changed +27
-2
lines changed 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
328
328
}
329
329
MP_DEFINE_CONST_FUN_OBJ_1 (framebufferio_framebufferdisplay_get_root_group_obj , framebufferio_framebufferdisplay_obj_get_root_group );
330
330
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 );
333
349
334
350
STATIC const mp_rom_map_elem_t framebufferio_framebufferdisplay_locals_dict_table [] = {
335
351
{ 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
61
61
mp_obj_t common_hal_framebufferio_framebufferdisplay_framebuffer (framebufferio_framebufferdisplay_obj_t * self );
62
62
63
63
mp_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 );
64
65
65
66
#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
362
362
mp_obj_t common_hal_framebufferio_framebufferdisplay_get_root_group (framebufferio_framebufferdisplay_obj_t * self ) {
363
363
return self -> core .current_group ;
364
364
}
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