diff options
| author | Jeff Epler <jeff@adafruit.com> | 2021-03-18 18:38:25 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-03-18 18:38:25 -0500 |
| commit | 623ece2c73b1a7886695fc09bde82f79ae47b3d7 (patch) | |
| tree | 0c8d1f252704c31c9c3a48471db707e81aafd17b /shared-module | |
| parent | 25895153422da1bd3d05f50e4c35ea408f9e4d28 (diff) | |
| parent | 720d242b4f522b4424ab6ac6df8385c5c23eaba0 (diff) | |
Merge pull request #4429 from jepler/displayio-bitmap-memoryview
displayio.Bitmap: Make memoryview()able
Diffstat (limited to 'shared-module')
| -rw-r--r-- | shared-module/displayio/Bitmap.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/shared-module/displayio/Bitmap.c b/shared-module/displayio/Bitmap.c index f03ade84b..5da196d9f 100644 --- a/shared-module/displayio/Bitmap.c +++ b/shared-module/displayio/Bitmap.c @@ -271,3 +271,23 @@ void common_hal_displayio_bitmap_fill(displayio_bitmap_t *self, uint32_t value) self->data[i] = word; } } + +int common_hal_displayio_bitmap_get_buffer(displayio_bitmap_t *self, mp_buffer_info_t *bufinfo, mp_uint_t flags) { + if (flags & MP_BUFFER_WRITE) { + return 1; + } + bufinfo->len = self->stride * self->height * sizeof(size_t); + bufinfo->buf = self->data; + switch (self->bits_per_value) { + case 32: + bufinfo->typecode = 'I'; + break; + case 16: + bufinfo->typecode = 'H'; + break; + default: + bufinfo->typecode = 'B'; + break; + } + return 0; +} |
