diff options
| author | Jensen <jensechu@gmail.com> | 2020-10-11 17:29:16 -0500 |
|---|---|---|
| committer | Jensen <jensechu@gmail.com> | 2020-10-12 20:48:04 -0500 |
| commit | 337019626a8cd0632cd2a6f6bae4ae09ae26cf16 (patch) | |
| tree | e28e8c4b2434915e2868620d242edf8a0d7dc756 /shared-module | |
| parent | b359e2945ac9914c31afc7e692a4f46a837a854d (diff) | |
displayio: Add make_transparent to ColorConverter
Diffstat (limited to 'shared-module')
| -rw-r--r-- | shared-module/displayio/ColorConverter.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/shared-module/displayio/ColorConverter.c b/shared-module/displayio/ColorConverter.c index 0a1a7dc06..fef71cdf5 100644 --- a/shared-module/displayio/ColorConverter.c +++ b/shared-module/displayio/ColorConverter.c @@ -27,6 +27,7 @@ #include "shared-bindings/displayio/ColorConverter.h" #include "py/misc.h" +#include "py/runtime.h" uint32_t displayio_colorconverter_dither_noise_1 (uint32_t n) { @@ -129,15 +130,18 @@ bool common_hal_displayio_colorconverter_get_dither(displayio_colorconverter_t* } void common_hal_displayio_colorconverter_make_transparent(displayio_colorconverter_t* self, uint32_t transparent_color) { + if (self->transparent_color) { + mp_raise_RuntimeError(translate("transparent_color value is already set")); + } self->transparent_color = transparent_color; - // TODO: Does this require refreshing like the other modules? } void common_hal_displayio_colorconverter_make_opaque(displayio_colorconverter_t* self, uint32_t transparent_color) { - if (self->transparent_color == transparent_color) { - m_del(uint8_t, self, transparent_color); + if (self->transparent_color != transparent_color) { + mp_raise_RuntimeError(translate("transparent_color value is not transparent")); } - // TODO: Does this require refreshing like the other modules? + // 0x1000000 will never equal a valid color + self->transparent_color = 0x1000000; } void displayio_colorconverter_convert(displayio_colorconverter_t *self, const _displayio_colorspace_t* colorspace, const displayio_input_pixel_t *input_pixel, displayio_output_pixel_t *output_color) { |
