summaryrefslogtreecommitdiff
path: root/shared-bindings
diff options
context:
space:
mode:
authorMatthew Newberg <mnewberg@gmail.com>2019-09-05 21:55:45 -0400
committerMatthew Newberg <mnewberg@gmail.com>2019-09-05 21:55:45 -0400
commit4604a69498d5f7ffadb4ebf46a064ea5e18164b6 (patch)
treebbe760d47a9280fbd8bfd0371157b5d6d4cc7f07 /shared-bindings
parent3ab6a2343426e1b42141916a74c0c422dbd34828 (diff)
Move dither parameter to ColorConverter constructor and parameter
Diffstat (limited to 'shared-bindings')
-rw-r--r--shared-bindings/displayio/ColorConverter.c39
-rw-r--r--shared-bindings/displayio/ColorConverter.h5
-rw-r--r--shared-bindings/displayio/Display.c25
3 files changed, 41 insertions, 28 deletions
diff --git a/shared-bindings/displayio/ColorConverter.c b/shared-bindings/displayio/ColorConverter.c
index d9524870d..8c48a670a 100644
--- a/shared-bindings/displayio/ColorConverter.c
+++ b/shared-bindings/displayio/ColorConverter.c
@@ -51,11 +51,18 @@
// TODO(tannewt): Add support for other color formats.
//|
STATIC mp_obj_t displayio_colorconverter_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
- mp_arg_check_num(n_args, kw_args, 0, 0, false);
+ mp_arg_check_num(n_args, kw_args, 0, 1, false);
displayio_colorconverter_t *self = m_new_obj(displayio_colorconverter_t);
self->base.type = &displayio_colorconverter_type;
- common_hal_displayio_colorconverter_construct(self);
+
+ bool dither = false;
+
+ if (n_args > 0) {
+ dither = mp_obj_is_true(pos_args[0]);
+ }
+
+ common_hal_displayio_colorconverter_construct(self, dither);
return MP_OBJ_FROM_PTR(self);
}
@@ -79,8 +86,35 @@ STATIC mp_obj_t displayio_colorconverter_obj_convert(mp_obj_t self_in, mp_obj_t
}
MP_DEFINE_CONST_FUN_OBJ_2(displayio_colorconverter_convert_obj, displayio_colorconverter_obj_convert);
+//| .. attribute:: dither
+//|
+//| True when the display is dithered
+//|
+STATIC mp_obj_t displayio_colorconverter_obj_get_dither(mp_obj_t self_in) {
+ displayio_colorconverter_t *self = MP_OBJ_TO_PTR(self_in);
+ return mp_obj_new_bool(common_hal_displayio_colorconverter_get_dither(self));
+}
+MP_DEFINE_CONST_FUN_OBJ_1(displayio_colorconverter_get_dither_obj, displayio_colorconverter_obj_get_dither);
+
+STATIC mp_obj_t displayio_colorconverter_obj_set_dither(mp_obj_t self_in, mp_obj_t dither) {
+ displayio_colorconverter_t *self = MP_OBJ_TO_PTR(self_in);
+
+ common_hal_displayio_colorconverter_set_dither(self, mp_obj_is_true(dither));
+
+ return mp_const_none;
+}
+MP_DEFINE_CONST_FUN_OBJ_2(displayio_colorconverter_set_dither_obj, displayio_colorconverter_obj_set_dither);
+
+const mp_obj_property_t displayio_colorconverter_dither_obj = {
+ .base.type = &mp_type_property,
+ .proxy = {(mp_obj_t)&displayio_colorconverter_get_dither_obj,
+ (mp_obj_t)&displayio_colorconverter_set_dither_obj,
+ (mp_obj_t)&mp_const_none_obj},
+};
+
STATIC const mp_rom_map_elem_t displayio_colorconverter_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_convert), MP_ROM_PTR(&displayio_colorconverter_convert_obj) },
+ { MP_ROM_QSTR(MP_QSTR_dither), MP_ROM_PTR(&displayio_colorconverter_dither_obj) },
};
STATIC MP_DEFINE_CONST_DICT(displayio_colorconverter_locals_dict, displayio_colorconverter_locals_dict_table);
@@ -90,3 +124,4 @@ const mp_obj_type_t displayio_colorconverter_type = {
.make_new = displayio_colorconverter_make_new,
.locals_dict = (mp_obj_dict_t*)&displayio_colorconverter_locals_dict,
};
+
diff --git a/shared-bindings/displayio/ColorConverter.h b/shared-bindings/displayio/ColorConverter.h
index 24895500e..d550d81be 100644
--- a/shared-bindings/displayio/ColorConverter.h
+++ b/shared-bindings/displayio/ColorConverter.h
@@ -33,7 +33,10 @@
extern const mp_obj_type_t displayio_colorconverter_type;
-void common_hal_displayio_colorconverter_construct(displayio_colorconverter_t* self);
+void common_hal_displayio_colorconverter_construct(displayio_colorconverter_t* self, bool dither);
void common_hal_displayio_colorconverter_convert(displayio_colorconverter_t *colorconverter, const _displayio_colorspace_t* colorspace, uint32_t input_color, uint32_t* output_color);
+void common_hal_displayio_colorconverter_set_dither(displayio_colorconverter_t* self, bool dither);
+bool common_hal_displayio_colorconverter_get_dither(displayio_colorconverter_t* self);
+
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_DISPLAYIO_COLORCONVERTER_H
diff --git a/shared-bindings/displayio/Display.c b/shared-bindings/displayio/Display.c
index 58d5e5123..5ce7b3581 100644
--- a/shared-bindings/displayio/Display.c
+++ b/shared-bindings/displayio/Display.c
@@ -346,31 +346,7 @@ const mp_obj_property_t displayio_display_auto_brightness_obj = {
(mp_obj_t)&mp_const_none_obj},
};
-//| .. attribute:: dither
-//|
-//| True when the display is dithered
-//|
-STATIC mp_obj_t displayio_display_obj_get_dither(mp_obj_t self_in) {
- displayio_display_obj_t *self = native_display(self_in);
- return mp_obj_new_bool(common_hal_displayio_display_get_dither(self));
-}
-MP_DEFINE_CONST_FUN_OBJ_1(displayio_display_get_dither_obj, displayio_display_obj_get_dither);
-
-STATIC mp_obj_t displayio_display_obj_set_dither(mp_obj_t self_in, mp_obj_t dither) {
- displayio_display_obj_t *self = native_display(self_in);
-
- common_hal_displayio_display_set_dither(self, mp_obj_is_true(dither));
- return mp_const_none;
-}
-MP_DEFINE_CONST_FUN_OBJ_2(displayio_display_set_dither_obj, displayio_display_obj_set_dither);
-
-const mp_obj_property_t displayio_display_dither_obj = {
- .base.type = &mp_type_property,
- .proxy = {(mp_obj_t)&displayio_display_get_dither_obj,
- (mp_obj_t)&displayio_display_set_dither_obj,
- (mp_obj_t)&mp_const_none_obj},
-};
//| .. attribute:: width
@@ -514,7 +490,6 @@ STATIC const mp_rom_map_elem_t displayio_display_locals_dict_table[] = {
{ MP_ROM_QSTR(MP_QSTR_brightness), MP_ROM_PTR(&displayio_display_brightness_obj) },
{ MP_ROM_QSTR(MP_QSTR_auto_brightness), MP_ROM_PTR(&displayio_display_auto_brightness_obj) },
- { MP_ROM_QSTR(MP_QSTR_dither), MP_ROM_PTR(&displayio_display_dither_obj) },
{ MP_ROM_QSTR(MP_QSTR_width), MP_ROM_PTR(&displayio_display_width_obj) },
{ MP_ROM_QSTR(MP_QSTR_height), MP_ROM_PTR(&displayio_display_height_obj) },