summaryrefslogtreecommitdiff
path: root/shared-module/displayio/Sprite.c
diff options
context:
space:
mode:
authorScott Shawcroft <scott@tannewt.org>2019-01-12 00:44:34 -0800
committerScott Shawcroft <scott@tannewt.org>2019-01-14 17:29:15 -0800
commita14762a16ca6e60fc2d26f028a08bcced597553b (patch)
treef7dcf4dce3ef7864d2c57a13276efd13a6a4906a /shared-module/displayio/Sprite.c
parent738e8f002884a0ed302a695338c7be2af885ab39 (diff)
Add support for rendering a shape.
Fixes #1171
Diffstat (limited to 'shared-module/displayio/Sprite.c')
-rw-r--r--shared-module/displayio/Sprite.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/shared-module/displayio/Sprite.c b/shared-module/displayio/Sprite.c
index 87600f721..da6eff896 100644
--- a/shared-module/displayio/Sprite.c
+++ b/shared-module/displayio/Sprite.c
@@ -30,6 +30,7 @@
#include "shared-bindings/displayio/ColorConverter.h"
#include "shared-bindings/displayio/OnDiskBitmap.h"
#include "shared-bindings/displayio/Palette.h"
+#include "shared-bindings/displayio/Shape.h"
void common_hal_displayio_sprite_construct(displayio_sprite_t *self, mp_obj_t bitmap,
mp_obj_t pixel_shader, uint16_t width, uint16_t height, uint16_t x, uint16_t y) {
@@ -71,6 +72,8 @@ bool displayio_sprite_get_pixel(displayio_sprite_t *self, int16_t x, int16_t y,
uint32_t value = 0;
if (MP_OBJ_IS_TYPE(self->bitmap, &displayio_bitmap_type)) {
value = common_hal_displayio_bitmap_get_pixel(self->bitmap, x, y);
+ } else if (MP_OBJ_IS_TYPE(self->bitmap, &displayio_shape_type)) {
+ value = common_hal_displayio_shape_get_pixel(self->bitmap, x, y);
} else if (MP_OBJ_IS_TYPE(self->bitmap, &displayio_ondiskbitmap_type)) {
value = common_hal_displayio_ondiskbitmap_get_pixel(self->bitmap, x, y);
}