@@ -126,27 +126,6 @@ STATIC void validate_clip_region(displayio_bitmap_t *bitmap, mp_obj_t clip0_tupl
126
126
127
127
}
128
128
129
- MAKE_ENUM_VALUE (bitmaptools_blendmode_type , bitmaptools_blendmode , NORMAL , BITMAPTOOLS_BLENDMODE_NORMAL );
130
- MAKE_ENUM_VALUE (bitmaptools_blendmode_type , bitmaptools_blendmode , SCREEN , BITMAPTOOLS_BLENDMODE_SCREEN );
131
-
132
- //| class BlendMode:
133
- //| """The blend mode for `alphablend` to operate use"""
134
- //|
135
- //| NORMAL: Blendmode
136
- //| """Blend with equal parts of the two source bitmaps"""
137
- //|
138
- //| SCREEN: Blendmode
139
- //| """Blend based on the value in each color channel. The result keeps the lighter colors and discards darker colors."""
140
- //|
141
- MAKE_ENUM_MAP (bitmaptools_blendmode ) {
142
- MAKE_ENUM_MAP_ENTRY (bitmaptools_blendmode , NORMAL ),
143
- MAKE_ENUM_MAP_ENTRY (bitmaptools_blendmode , SCREEN ),
144
- };
145
- STATIC MP_DEFINE_CONST_DICT (bitmaptools_blendmode_locals_dict , bitmaptools_blendmode_locals_table );
146
-
147
- MAKE_PRINTER (bitmaptools , bitmaptools_blendmode );
148
- MAKE_ENUM_TYPE (bitmaptools , BlendMode , bitmaptools_blendmode );
149
-
150
129
//| def rotozoom(
151
130
//| dest_bitmap: displayio.Bitmap,
152
131
//| source_bitmap: displayio.Bitmap,
@@ -295,6 +274,27 @@ STATIC mp_obj_t bitmaptools_obj_rotozoom(size_t n_args, const mp_obj_t *pos_args
295
274
296
275
MP_DEFINE_CONST_FUN_OBJ_KW (bitmaptools_rotozoom_obj , 0 , bitmaptools_obj_rotozoom );
297
276
277
+ //| class BlendMode:
278
+ //| """The blend mode for `alphablend` to operate use"""
279
+ //|
280
+ //| Normal: BlendMode
281
+ //| """Blend with equal parts of the two source bitmaps"""
282
+ //|
283
+ //| Screen: BlendMode
284
+ //| """Blend based on the value in each color channel. The result keeps the lighter colors and discards darker colors."""
285
+ //|
286
+ MAKE_ENUM_VALUE (bitmaptools_blendmode_type , bitmaptools_blendmode , Normal , BITMAPTOOLS_BLENDMODE_NORMAL );
287
+ MAKE_ENUM_VALUE (bitmaptools_blendmode_type , bitmaptools_blendmode , Screen , BITMAPTOOLS_BLENDMODE_SCREEN );
288
+
289
+ MAKE_ENUM_MAP (bitmaptools_blendmode ) {
290
+ MAKE_ENUM_MAP_ENTRY (bitmaptools_blendmode , Normal ),
291
+ MAKE_ENUM_MAP_ENTRY (bitmaptools_blendmode , Screen ),
292
+ };
293
+ STATIC MP_DEFINE_CONST_DICT (bitmaptools_blendmode_locals_dict , bitmaptools_blendmode_locals_table );
294
+
295
+ MAKE_PRINTER (bitmaptools , bitmaptools_blendmode );
296
+ MAKE_ENUM_TYPE (bitmaptools , BlendMode , bitmaptools_blendmode );
297
+
298
298
// requires at least 2 arguments (destination bitmap and source bitmap)
299
299
300
300
//| def alphablend(
@@ -304,9 +304,9 @@ MP_DEFINE_CONST_FUN_OBJ_KW(bitmaptools_rotozoom_obj, 0, bitmaptools_obj_rotozoom
304
304
//| colorspace: displayio.Colorspace,
305
305
//| factor1: float = 0.5,
306
306
//| factor2: Optional[float] = None,
307
- //| blendmode: Optional[Blendmode ] = Blendmode.NORMAL ,
308
- //| skip_source1_index: int,
309
- //| skip_source2_index: int,
307
+ //| blendmode: Optional[BlendMode ] = BlendMode.Normal ,
308
+ //| skip_source1_index: Union[ int, None] = None ,
309
+ //| skip_source2_index: Union[ int, None] = None ,
310
310
//| ) -> None:
311
311
//| """Alpha blend the two source bitmaps into the destination.
312
312
//|
@@ -319,7 +319,7 @@ MP_DEFINE_CONST_FUN_OBJ_KW(bitmaptools_rotozoom_obj, 0, bitmaptools_obj_rotozoom
319
319
//| :param float factor1: The proportion of bitmap 1 to mix in
320
320
//| :param float factor2: The proportion of bitmap 2 to mix in. If specified as `None`, ``1-factor1`` is used. Usually the proportions should sum to 1.
321
321
//| :param displayio.Colorspace colorspace: The colorspace of the bitmaps. They must all have the same colorspace. Only the following colorspaces are permitted: ``L8``, ``RGB565``, ``RGB565_SWAPPED``, ``BGR565`` and ``BGR565_SWAPPED``.
322
- //| :param bitmaptools.BlendMode blendmode: The blend mode to use. Default is NORMAL .
322
+ //| :param bitmaptools.BlendMode blendmode: The blend mode to use. Default is Normal .
323
323
//| :param int skip_source1_index: bitmap palette index in source_bitmap_1 that will not be blended, set to None to blend all pixels
324
324
//| :param int skip_source2_index: bitmap palette index in source_bitmap_2 that will not be blended, set to None to blend all pixels
325
325
//|
@@ -337,7 +337,7 @@ STATIC mp_obj_t bitmaptools_alphablend(size_t n_args, const mp_obj_t *pos_args,
337
337
{MP_QSTR_colorspace , MP_ARG_REQUIRED | MP_ARG_OBJ , {.u_obj = NULL }},
338
338
{MP_QSTR_factor_1 , MP_ARG_OBJ , {.u_obj = MP_ROM_NONE }},
339
339
{MP_QSTR_factor_2 , MP_ARG_OBJ , {.u_obj = MP_ROM_NONE }},
340
- {MP_QSTR_blendmode , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = (void * )& bitmaptools_blendmode_NORMAL_obj }},
340
+ {MP_QSTR_blendmode , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = (void * )& bitmaptools_blendmode_Normal_obj }},
341
341
{MP_QSTR_skip_source1_index , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
342
342
{MP_QSTR_skip_source2_index , MP_ARG_KW_ONLY | MP_ARG_OBJ , {.u_obj = mp_const_none } },
343
343
};
@@ -1135,7 +1135,6 @@ STATIC const mp_rom_map_elem_t bitmaptools_module_globals_table[] = {
1135
1135
{ MP_ROM_QSTR (MP_QSTR_readinto ), MP_ROM_PTR (& bitmaptools_readinto_obj ) },
1136
1136
{ MP_ROM_QSTR (MP_QSTR_rotozoom ), MP_ROM_PTR (& bitmaptools_rotozoom_obj ) },
1137
1137
{ MP_ROM_QSTR (MP_QSTR_arrayblit ), MP_ROM_PTR (& bitmaptools_arrayblit_obj ) },
1138
- { MP_ROM_QSTR (MP_QSTR_Blendmode ), MP_ROM_PTR (& bitmaptools_blendmode_type ) },
1139
1138
{ MP_ROM_QSTR (MP_QSTR_alphablend ), MP_ROM_PTR (& bitmaptools_alphablend_obj ) },
1140
1139
{ MP_ROM_QSTR (MP_QSTR_fill_region ), MP_ROM_PTR (& bitmaptools_fill_region_obj ) },
1141
1140
{ MP_ROM_QSTR (MP_QSTR_boundary_fill ), MP_ROM_PTR (& bitmaptools_boundary_fill_obj ) },
@@ -1144,6 +1143,7 @@ STATIC const mp_rom_map_elem_t bitmaptools_module_globals_table[] = {
1144
1143
{ MP_ROM_QSTR (MP_QSTR_draw_circle ), MP_ROM_PTR (& bitmaptools_draw_circle_obj ) },
1145
1144
{ MP_ROM_QSTR (MP_QSTR_blit ), MP_ROM_PTR (& bitmaptools_blit_obj ) },
1146
1145
{ MP_ROM_QSTR (MP_QSTR_dither ), MP_ROM_PTR (& bitmaptools_dither_obj ) },
1146
+ { MP_ROM_QSTR (MP_QSTR_BlendMode ), MP_ROM_PTR (& bitmaptools_blendmode_type ) },
1147
1147
{ MP_ROM_QSTR (MP_QSTR_DitherAlgorithm ), MP_ROM_PTR (& bitmaptools_dither_algorithm_type ) },
1148
1148
};
1149
1149
STATIC MP_DEFINE_CONST_DICT (bitmaptools_module_globals , bitmaptools_module_globals_table );
0 commit comments