diff options
| author | microDev <70126934+microDev1@users.noreply.github.com> | 2020-11-08 00:00:01 +0530 |
|---|---|---|
| committer | microDev <70126934+microDev1@users.noreply.github.com> | 2020-11-08 00:00:01 +0530 |
| commit | 479567059e2bb60e2fd5a2d58be26df2a9e6deae (patch) | |
| tree | cf218ca135a99ea99a4bc27fabe81d494153f1d9 /shared-module/displayio/ColorConverter.c | |
| parent | 80029f6929ebbf6c0a02c5320e59220b0501bd55 (diff) | |
| parent | 18079c5bbe403a25556e19469a349742dca49633 (diff) | |
Merge branch 'main' into rotaryio-S2
Diffstat (limited to 'shared-module/displayio/ColorConverter.c')
| -rw-r--r-- | shared-module/displayio/ColorConverter.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/shared-module/displayio/ColorConverter.c b/shared-module/displayio/ColorConverter.c index dc64da03d..03ec99ceb 100644 --- a/shared-module/displayio/ColorConverter.c +++ b/shared-module/displayio/ColorConverter.c @@ -165,9 +165,9 @@ void displayio_colorconverter_convert(displayio_colorconverter_t *self, const _d g8 = MIN(255,g8 + (randg&0x03)); } else { int bitmask = 0xFF >> colorspace->depth; - b8 = MIN(255,b8 + (randb&bitmask)); - r8 = MIN(255,r8 + (randr&bitmask)); - g8 = MIN(255,g8 + (randg&bitmask)); + b8 = MIN(255,b8 + (randb & bitmask)); + r8 = MIN(255,r8 + (randr & bitmask)); + g8 = MIN(255,g8 + (randg & bitmask)); } pixel = r8 << 16 | g8 << 8 | b8; } @@ -196,7 +196,8 @@ void displayio_colorconverter_convert(displayio_colorconverter_t *self, const _d return; } else if (colorspace->grayscale && colorspace->depth <= 8) { uint8_t luma = displayio_colorconverter_compute_luma(pixel); - output_color->pixel = luma >> (8 - colorspace->depth); + size_t bitmask = (1 << colorspace->depth) - 1; + output_color->pixel = (luma >> colorspace->grayscale_bit) & bitmask; output_color->opaque = true; return; } |
