diff options
| author | Jeff Epler <jeff@adafruit.com> | 2020-11-19 10:39:57 -0600 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-19 10:39:57 -0600 |
| commit | 3e6661bc9df84ede1f8887eb6cc5e2a5793ae419 (patch) | |
| tree | 5478087729ac45b95710021eb5f6b672f0ec0a93 /shared-module | |
| parent | 8ac9b176c961faf7672f081953de6f78ec3005e2 (diff) | |
| parent | 2463a6d6ac3fb53fa471c77bc585c8ef350d2b96 (diff) | |
Merge pull request #3719 from tannewt/fix_palette_grayscale
Fix Palette grayscale
Diffstat (limited to 'shared-module')
| -rw-r--r-- | shared-module/displayio/Palette.c | 3 |
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) { |
