summaryrefslogtreecommitdiff
path: root/shared-bindings
diff options
context:
space:
mode:
authorwarriorofwire <3454741+WarriorOfWire@users.noreply.github.com>2020-05-08 23:03:15 -0700
committerwarriorofwire <3454741+WarriorOfWire@users.noreply.github.com>2020-05-09 22:15:51 -0700
commit4086600b61f14e043f02c1b8771e7780b82f313c (patch)
tree43845cc9eb946670ec88302d097dfccfe639995c /shared-bindings
parent1c6e646f5630a46ea77e848788947c099e2c1f31 (diff)
vectorio: switch per-shape transform to Display
Rather than maintain a transform per-shape, we'll just use whatever settings are on the Display. Currently only transpose is done.
Diffstat (limited to 'shared-bindings')
-rw-r--r--shared-bindings/vectorio/VectorShape.c22
-rw-r--r--shared-bindings/vectorio/VectorShape.h8
2 files changed, 7 insertions, 23 deletions
diff --git a/shared-bindings/vectorio/VectorShape.c b/shared-bindings/vectorio/VectorShape.c
index 8f99577b4..02a42536d 100644
--- a/shared-bindings/vectorio/VectorShape.c
+++ b/shared-bindings/vectorio/VectorShape.c
@@ -32,13 +32,12 @@
//| :param int y: Initial y position of the center axis of the shape within the parent.
//|
STATIC mp_obj_t vectorio_vector_shape_make_new(const mp_obj_type_t *type, size_t n_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
- enum { ARG_shape, ARG_pixel_shader, ARG_x, ARG_y, ARG_transpose_xy };
+ enum { ARG_shape, ARG_pixel_shader, ARG_x, ARG_y };
static const mp_arg_t allowed_args[] = {
{ MP_QSTR_shape, MP_ARG_OBJ | MP_ARG_KW_ONLY | MP_ARG_REQUIRED },
{ MP_QSTR_pixel_shader, MP_ARG_OBJ | MP_ARG_KW_ONLY | MP_ARG_REQUIRED },
{ MP_QSTR_x, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0} },
{ MP_QSTR_y, MP_ARG_INT | MP_ARG_KW_ONLY, {.u_int = 0} },
- { MP_QSTR_transpose_xy, MP_ARG_BOOL | MP_ARG_KW_ONLY, {.u_bool = false} },
};
mp_arg_val_t args[MP_ARRAY_SIZE(allowed_args)];
mp_arg_parse_all(n_args, pos_args, kw_args, MP_ARRAY_SIZE(allowed_args), allowed_args, args);
@@ -74,7 +73,7 @@ STATIC mp_obj_t vectorio_vector_shape_make_new(const mp_obj_type_t *type, size_t
vectorio_vector_shape_t *self = m_new_obj(vectorio_vector_shape_t);
self->base.type = &vectorio_vector_shape_type;
common_hal_vectorio_vector_shape_construct(self,
- ishape, pixel_shader, x, y, args[ARG_transpose_xy].u_bool
+ ishape, pixel_shader, x, y
);
// Wire up event callbacks
@@ -150,23 +149,6 @@ const mp_obj_property_t vectorio_vector_shape_y_obj = {
};
-//| .. attribute:: transpose_xy
-//|
-//| true if the object is to be flipped.
-//|
-STATIC mp_obj_t vectorio_vector_shape_obj_get_transpose_xy(mp_obj_t self_in) {
- vectorio_vector_shape_t *self = MP_OBJ_TO_PTR(self_in);
- return mp_obj_new_bool(common_hal_vectorio_vector_shape_get_transpose_xy(self));
-}
-MP_DEFINE_CONST_FUN_OBJ_1(vectorio_vector_shape_get_transpose_xy_obj, vectorio_vector_shape_obj_get_transpose_xy);
-
-const mp_obj_property_t vectorio_vector_shape_transpose_xy_obj = {
- .base.type = &mp_type_property,
- .proxy = {(mp_obj_t)&vectorio_vector_shape_get_transpose_xy_obj,
- (mp_obj_t)&mp_const_none_obj,
- (mp_obj_t)&mp_const_none_obj},
-};
-
//| .. attribute:: pixel_shader
//|
//| The pixel shader of the shape.
diff --git a/shared-bindings/vectorio/VectorShape.h b/shared-bindings/vectorio/VectorShape.h
index ad745b30f..d098504e9 100644
--- a/shared-bindings/vectorio/VectorShape.h
+++ b/shared-bindings/vectorio/VectorShape.h
@@ -2,12 +2,13 @@
#define MICROPY_INCLUDED_SHARED_BINDINGS_VECTORIO_SHAPE_H
#include "shared-module/vectorio/VectorShape.h"
+#include "shared-module/displayio/area.h"
extern const mp_obj_type_t vectorio_vector_shape_type;
void common_hal_vectorio_vector_shape_construct(vectorio_vector_shape_t *self,
vectorio_ishape_t ishape,
- mp_obj_t pixel_shader, uint16_t x, uint16_t y, bool transpose_xy);
+ mp_obj_t pixel_shader, uint16_t x, uint16_t y);
void common_hal_vectorio_vector_shape_set_dirty(void *self);
@@ -17,9 +18,10 @@ void common_hal_vectorio_vector_shape_set_x(vectorio_vector_shape_t *self, mp_in
mp_int_t common_hal_vectorio_vector_shape_get_y(vectorio_vector_shape_t *self);
void common_hal_vectorio_vector_shape_set_y(vectorio_vector_shape_t *self, mp_int_t y);
-bool common_hal_vectorio_vector_shape_get_transpose_xy(vectorio_vector_shape_t *self);
-
mp_obj_t common_hal_vectorio_vector_shape_get_pixel_shader(vectorio_vector_shape_t *self);
void common_hal_vectorio_vector_shape_set_pixel_shader(vectorio_vector_shape_t *self, mp_obj_t pixel_shader);
+
+void vectorio_vector_shape_update_transform(vectorio_vector_shape_t *self, displayio_buffer_transform_t *group_transform);
+
#endif // MICROPY_INCLUDED_SHARED_BINDINGS_VECTORIO_SHAPE_H