summaryrefslogtreecommitdiff
path: root/shared-module
diff options
context:
space:
mode:
authorDan Halbert <halbert@halwitz.org>2020-11-19 15:43:49 -0500
committerDan Halbert <halbert@halwitz.org>2020-11-19 15:43:49 -0500
commitcd436bad1ae9b8b448219979fe98e29ddbb2e953 (patch)
treee348a9e869c796b00bf77e82f27c7d01d7dbb612 /shared-module
parent649c9305364f10ea1dc43179e768ec968d0b9ed5 (diff)
parent60c608b9273360516f668e42af991216a4c24f61 (diff)
Merge remote-tracking branch 'adafruit/main' into sleep
Diffstat (limited to 'shared-module')
-rw-r--r--shared-module/displayio/Palette.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/shared-module/displayio/Palette.c b/shared-module/displayio/Palette.c
index facb1fa73..ba5ff665c 100644
--- a/shared-module/displayio/Palette.c
+++ b/shared-module/displayio/Palette.c
@@ -83,7 +83,8 @@ bool displayio_palette_get_color(displayio_palette_t *self, const _displayio_col
uint8_t pixel_hue = self->colors[palette_index].hue;
displayio_colorconverter_compute_tricolor(colorspace, pixel_hue, luma, color);
} else if (colorspace->grayscale) {
- *color = self->colors[palette_index].luma >> (8 - colorspace->depth);
+ size_t bitmask = (1 << colorspace->depth) - 1;
+ *color = (self->colors[palette_index].luma >> colorspace->grayscale_bit) & bitmask;
} else {
uint16_t packed = self->colors[palette_index].rgb565;
if (colorspace->reverse_bytes_in_word) {