Skip to content

Commit f6b91b7

Browse files
committed
simpler arg name, validate bitmap type, reuse error message, remove unneeded required arg default values.
1 parent 579afb2 commit f6b91b7

File tree

1 file changed

+38
-38
lines changed

1 file changed

+38
-38
lines changed

shared-bindings/bitmaptools/__init__.c

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -185,8 +185,8 @@ static mp_obj_t bitmaptools_obj_rotozoom(size_t n_args, const mp_obj_t *pos_args
185185
ARG_angle, ARG_scale, ARG_skip_index};
186186

187187
static const mp_arg_t allowed_args[] = {
188-
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL}},
189-
{MP_QSTR_source_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL}},
188+
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ},
189+
{MP_QSTR_source_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ},
190190

191191
{MP_QSTR_ox, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_none} }, // None convert to destination->width / 2
192192
{MP_QSTR_oy, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_none} }, // None convert to destination->height / 2
@@ -421,34 +421,34 @@ MP_DEFINE_CONST_FUN_OBJ_KW(bitmaptools_alphablend_obj, 0, bitmaptools_alphablend
421421
//| def replace_color(
422422
//| dest_bitmap: displayio.Bitmap, old_color: int, new_color: int
423423
//| ) -> None:
424-
//| """Replace any pixels of old_color with new_color in the dest_bitmap
424+
//| """Replace any pixels of ``old_color`` with ``new_color`` in the ``bitmap``
425425
//|
426-
//| :param bitmap dest_bitmap: Destination bitmap that will be written into
426+
//| :param displayio.Bitmap bitmap: Bitmap that will be changed
427427
//| :param int old_color: Bitmap palette index that will overwritten
428428
//| :param int new_color: Bitmap palette index that will get put in the bitmap"""
429429
//| ...
430430
//|
431431
//|
432432
static mp_obj_t bitmaptools_obj_replace_color(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
433-
enum {ARG_dest_bitmap, ARG_old_color, ARG_new_color};
433+
enum {ARG_bitmap, ARG_old_color, ARG_new_color};
434434

435435
static const mp_arg_t allowed_args[] = {
436-
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL}},
437-
{MP_QSTR_old_color, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
438-
{MP_QSTR_new_color, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
436+
{MP_QSTR_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ},
437+
{MP_QSTR_old_color, MP_ARG_REQUIRED | MP_ARG_INT},
438+
{MP_QSTR_new_color, MP_ARG_REQUIRED | MP_ARG_INT},
439439
};
440440
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
441441
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
442442

443-
displayio_bitmap_t *destination = MP_OBJ_TO_PTR(args[ARG_dest_bitmap].u_obj); // the destination bitmap
443+
displayio_bitmap_t *destination = MP_OBJ_TO_PTR(mp_arg_validate_type(args[ARG_bitmap].u_obj, &displayio_bitmap_type, MP_QSTR_bitmap));
444444

445445
uint32_t old_color, new_color, color_depth;
446446
old_color = args[ARG_old_color].u_int;
447447
new_color = args[ARG_new_color].u_int;
448448

449449
color_depth = (1 << destination->bits_per_value);
450450
if (color_depth <= old_color || color_depth <= new_color) {
451-
mp_raise_ValueError(MP_ERROR_TEXT("out of range of target"));
451+
mp_raise_ValueError_varg(MP_ERROR_TEXT("%q out of range"), MP_QSTR_color);
452452
}
453453

454454
common_hal_bitmaptools_replace_color(destination, old_color, new_color);
@@ -478,9 +478,9 @@ static mp_obj_t bitmaptools_obj_fill_region(size_t n_args, const mp_obj_t *pos_a
478478
enum {ARG_dest_bitmap, ARGS_X1_Y1_X2_Y2, ARG_value};
479479

480480
static const mp_arg_t allowed_args[] = {
481-
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL}},
481+
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ},
482482
ALLOWED_ARGS_X1_Y1_X2_Y2(MP_ARG_REQUIRED, MP_ARG_REQUIRED),
483-
{MP_QSTR_value, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
483+
{MP_QSTR_value, MP_ARG_REQUIRED | MP_ARG_INT},
484484
};
485485
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
486486
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
@@ -527,10 +527,10 @@ static mp_obj_t bitmaptools_obj_boundary_fill(size_t n_args, const mp_obj_t *pos
527527
enum {ARG_dest_bitmap, ARG_x, ARG_y, ARG_fill_color_value, ARG_replaced_color_value};
528528

529529
static const mp_arg_t allowed_args[] = {
530-
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL}},
531-
{MP_QSTR_x, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
532-
{MP_QSTR_y, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
533-
{MP_QSTR_fill_color_value, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
530+
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ},
531+
{MP_QSTR_x, MP_ARG_REQUIRED | MP_ARG_INT},
532+
{MP_QSTR_y, MP_ARG_REQUIRED | MP_ARG_INT},
533+
{MP_QSTR_fill_color_value, MP_ARG_REQUIRED | MP_ARG_INT},
534534
{MP_QSTR_replaced_color_value, MP_ARG_INT, {.u_int = INT_MAX} },
535535
};
536536
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
@@ -588,12 +588,12 @@ static mp_obj_t bitmaptools_obj_draw_line(size_t n_args, const mp_obj_t *pos_arg
588588
enum {ARG_dest_bitmap, ARG_x1, ARG_y1, ARG_x2, ARG_y2, ARG_value};
589589

590590
static const mp_arg_t allowed_args[] = {
591-
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL}},
592-
{MP_QSTR_x1, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
593-
{MP_QSTR_y1, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
594-
{MP_QSTR_x2, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
595-
{MP_QSTR_y2, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
596-
{MP_QSTR_value, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
591+
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ},
592+
{MP_QSTR_x1, MP_ARG_REQUIRED | MP_ARG_INT},
593+
{MP_QSTR_y1, MP_ARG_REQUIRED | MP_ARG_INT},
594+
{MP_QSTR_x2, MP_ARG_REQUIRED | MP_ARG_INT},
595+
{MP_QSTR_y2, MP_ARG_REQUIRED | MP_ARG_INT},
596+
{MP_QSTR_value, MP_ARG_REQUIRED | MP_ARG_INT},
597597
};
598598
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
599599
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
@@ -675,10 +675,10 @@ static mp_obj_t bitmaptools_obj_draw_polygon(size_t n_args, const mp_obj_t *pos_
675675
enum {ARG_dest_bitmap, ARG_xs, ARG_ys, ARG_value, ARG_close};
676676

677677
static const mp_arg_t allowed_args[] = {
678-
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL}},
679-
{MP_QSTR_xs, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL}},
680-
{MP_QSTR_ys, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL}},
681-
{MP_QSTR_value, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL}},
678+
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ},
679+
{MP_QSTR_xs, MP_ARG_REQUIRED | MP_ARG_OBJ},
680+
{MP_QSTR_ys, MP_ARG_REQUIRED | MP_ARG_OBJ},
681+
{MP_QSTR_value, MP_ARG_REQUIRED | MP_ARG_INT},
682682
{MP_QSTR_close, MP_ARG_BOOL, {.u_bool = true}},
683683
};
684684
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
@@ -757,8 +757,8 @@ MP_DEFINE_CONST_FUN_OBJ_KW(bitmaptools_draw_polygon_obj, 0, bitmaptools_obj_draw
757757
static mp_obj_t bitmaptools_arrayblit(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
758758
enum { ARG_bitmap, ARG_data, ARGS_X1_Y1_X2_Y2, ARG_skip_index };
759759
static const mp_arg_t allowed_args[] = {
760-
{ MP_QSTR_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
761-
{ MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
760+
{ MP_QSTR_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ },
761+
{ MP_QSTR_data, MP_ARG_REQUIRED | MP_ARG_OBJ },
762762
ALLOWED_ARGS_X1_Y1_X2_Y2(0, 0),
763763
{ MP_QSTR_skip_index, MP_ARG_OBJ, {.u_obj = mp_const_none } },
764764
};
@@ -822,9 +822,9 @@ MP_DEFINE_CONST_FUN_OBJ_KW(bitmaptools_arrayblit_obj, 0, bitmaptools_arrayblit);
822822
static mp_obj_t bitmaptools_readinto(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
823823
enum { ARG_bitmap, ARG_file, ARG_bits_per_pixel, ARG_element_size, ARG_reverse_pixels_in_element, ARG_swap_bytes_in_element, ARG_reverse_rows };
824824
static const mp_arg_t allowed_args[] = {
825-
{ MP_QSTR_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
826-
{ MP_QSTR_file, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
827-
{ MP_QSTR_bits_per_pixel, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL} },
825+
{ MP_QSTR_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ },
826+
{ MP_QSTR_file, MP_ARG_REQUIRED | MP_ARG_OBJ },
827+
{ MP_QSTR_bits_per_pixel, MP_ARG_REQUIRED | MP_ARG_INT },
828828
{ MP_QSTR_element_size, MP_ARG_INT, { .u_int = 1 } },
829829
{ MP_QSTR_reverse_pixels_in_element, MP_ARG_BOOL, { .u_bool = false } },
830830
{ MP_QSTR_swap_bytes_in_element, MP_ARG_BOOL, { .u_bool = false } },
@@ -913,9 +913,9 @@ MAKE_ENUM_TYPE(bitmaptools, DitherAlgorithm, bitmaptools_dither_algorithm);
913913
static mp_obj_t bitmaptools_dither(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
914914
enum { ARG_dest_bitmap, ARG_source_bitmap, ARG_source_colorspace, ARG_algorithm };
915915
static const mp_arg_t allowed_args[] = {
916-
{ MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
917-
{ MP_QSTR_source_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
918-
{ MP_QSTR_source_colorspace, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
916+
{ MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ },
917+
{ MP_QSTR_source_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ },
918+
{ MP_QSTR_source_colorspace, MP_ARG_REQUIRED | MP_ARG_OBJ },
919919
{ MP_QSTR_algorithm, MP_ARG_OBJ, { .u_obj = MP_ROM_PTR((void *)&dither_algorithm_Atkinson_obj) } },
920920
};
921921
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
@@ -1078,10 +1078,10 @@ MP_DEFINE_CONST_FUN_OBJ_KW(bitmaptools_draw_circle_obj, 0, bitmaptools_obj_draw_
10781078
static mp_obj_t bitmaptools_obj_blit(size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
10791079
enum {ARG_destination, ARG_source, ARG_x, ARG_y, ARG_x1, ARG_y1, ARG_x2, ARG_y2, ARG_skip_source_index, ARG_skip_dest_index};
10801080
static const mp_arg_t allowed_args[] = {
1081-
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
1082-
{MP_QSTR_source_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ, {.u_obj = MP_OBJ_NULL} },
1083-
{MP_QSTR_x, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL} },
1084-
{MP_QSTR_y, MP_ARG_REQUIRED | MP_ARG_INT, {.u_obj = MP_OBJ_NULL} },
1081+
{MP_QSTR_dest_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ },
1082+
{MP_QSTR_source_bitmap, MP_ARG_REQUIRED | MP_ARG_OBJ },
1083+
{MP_QSTR_x, MP_ARG_REQUIRED | MP_ARG_INT },
1084+
{MP_QSTR_y, MP_ARG_REQUIRED | MP_ARG_INT },
10851085
ALLOWED_ARGS_X1_Y1_X2_Y2(0, 0),
10861086
{MP_QSTR_skip_source_index, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_none} },
10871087
{MP_QSTR_skip_dest_index, MP_ARG_KW_ONLY | MP_ARG_OBJ, {.u_obj = mp_const_none} },

0 commit comments

Comments
 (0)