62
62
//| ...
63
63
STATIC mp_obj_t displayio_bitmap_make_new (const mp_obj_type_t * type , size_t n_args , size_t n_kw , const mp_obj_t * all_args ) {
64
64
mp_arg_check_num (n_args , n_kw , 3 , 3 , false);
65
- uint32_t width = mp_arg_validate_int_range (mp_obj_get_int (all_args [0 ]), 1 , 32767 , MP_QSTR_width );
66
- uint32_t height = mp_arg_validate_int_range (mp_obj_get_int (all_args [1 ]), 1 , 32767 , MP_QSTR_height );
65
+ uint32_t width = mp_arg_validate_int_range (mp_obj_get_int (all_args [0 ]), 0 , 32767 , MP_QSTR_width );
66
+ uint32_t height = mp_arg_validate_int_range (mp_obj_get_int (all_args [1 ]), 0 , 32767 , MP_QSTR_height );
67
67
uint32_t value_count = mp_arg_validate_int_range (mp_obj_get_int (all_args [2 ]), 1 , 65535 , MP_QSTR_value_count );
68
68
uint32_t bits = 1 ;
69
69
@@ -220,8 +220,8 @@ STATIC mp_obj_t displayio_bitmap_obj_blit(size_t n_args, const mp_obj_t *pos_arg
220
220
check_for_deinit (self );
221
221
222
222
// Check x,y are within self (target) bitmap boundary
223
- int16_t x = mp_arg_validate_int_range (args [ARG_x ].u_int , 0 , self -> width - 1 , MP_QSTR_x );
224
- int16_t y = mp_arg_validate_int_range (args [ARG_y ].u_int , 0 , self -> height - 1 , MP_QSTR_y );
223
+ int16_t x = mp_arg_validate_int_range (args [ARG_x ].u_int , 0 , self -> width , MP_QSTR_x );
224
+ int16_t y = mp_arg_validate_int_range (args [ARG_y ].u_int , 0 , self -> height , MP_QSTR_y );
225
225
226
226
displayio_bitmap_t * source = mp_arg_validate_type (args [ARG_source ].u_obj , & displayio_bitmap_type , MP_QSTR_source_bitmap );
227
227
@@ -232,8 +232,8 @@ STATIC mp_obj_t displayio_bitmap_obj_blit(size_t n_args, const mp_obj_t *pos_arg
232
232
}
233
233
234
234
// Check x1,y1,x2,y2 are within source bitmap boundary
235
- int16_t x1 = mp_arg_validate_int_range (args [ARG_x1 ].u_int , 0 , source -> width - 1 , MP_QSTR_x1 );
236
- int16_t y1 = mp_arg_validate_int_range (args [ARG_y1 ].u_int , 0 , source -> height - 1 , MP_QSTR_y1 );
235
+ int16_t x1 = mp_arg_validate_int_range (args [ARG_x1 ].u_int , 0 , source -> width , MP_QSTR_x1 );
236
+ int16_t y1 = mp_arg_validate_int_range (args [ARG_y1 ].u_int , 0 , source -> height , MP_QSTR_y1 );
237
237
int16_t x2 , y2 ;
238
238
// if x2 or y2 is None, then set as the maximum size of the source bitmap
239
239
if (args [ARG_x2 ].u_obj == mp_const_none ) {
0 commit comments