Allow use of displayio.Display subclasses in _stage

This commit is contained in:
Radomir Dopieralski 2019-04-17 10:27:08 +02:00
parent 608bf5076b
commit 3a65ff970a
1 changed files with 4 additions and 2 deletions

View File

@ -83,10 +83,12 @@ STATIC mp_obj_t stage_render(size_t n_args, const mp_obj_t *args) {
uint16_t *buffer = bufinfo.buf;
size_t buffer_size = bufinfo.len / 2; // 16-bit indexing
if (!MP_OBJ_IS_TYPE(args[6], &displayio_display_type)) {
mp_obj_t native_display = mp_instance_cast_to_native_base(args[6],
&displayio_display_type);
if (!MP_OBJ_IS_TYPE(native_display, &displayio_display_type)) {
mp_raise_TypeError(translate("argument num/types mismatch"));
}
displayio_display_obj_t *display = MP_OBJ_TO_PTR(args[6]);
displayio_display_obj_t *display = MP_OBJ_TO_PTR(native_display);
while (!displayio_display_begin_transaction(display)) {
#ifdef MICROPY_VM_HOOK_LOOP