summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/vcr.c28
1 files changed, 15 insertions, 13 deletions
diff --git a/src/vcr.c b/src/vcr.c
index 20f726a..65f5a68 100644
--- a/src/vcr.c
+++ b/src/vcr.c
@@ -2082,10 +2082,8 @@ static int vcr_present_xlib_to_png(vcr_t *vcr, vcr_dest_t *dest)
#define VCR_PNG_DARK_GRAY {0x30, 0x30, 0x30} /* used for separator */
#define VCR_PNG_DARKER_GRAY {0x10, 0x10, 0x10} /* used for odd rows background */
-/* when in shadow */
+/* when in shadow (see VCR_LUT_DARK_WHITE comment below) */
#define VCR_PNG_DARK_WHITE {0x4a, 0x4a, 0x4a}
-#define VCR_PNG_DARK_RED {0x80, 0x00, 0x00}
-#define VCR_PNG_DARK_CYAN {0x00, 0x5b, 0x5b}
enum {
VCR_LUT_BLACK = 0,
@@ -2095,15 +2093,21 @@ enum {
VCR_LUT_YELLOW,
VCR_LUT_DARK_GRAY,
VCR_LUT_DARKER_GRAY,
- VCR_LUT_DARK_WHITE,
- VCR_LUT_DARK_RED,
- VCR_LUT_DARK_CYAN,
+ VCR_LUT_DARK_WHITE, /* In simpler times when there was only RED and CYAN bar colors, I had DARK_RED and DARK_CYAN shadows.
+ * But then more per-process rows were wanted like RSS, which implied two new bar colors. To keep the
+ * colored text shadows for consistency, it would require four more colors in the final palette. That
+ * is far too wasteful of colors in the 16-color/4bpp output image. To not lose the size advantage of
+ * 4bpp by reverting back to 256-color/8bpp for colored shadows /and/ enough colors for more row types,
+ * I instead switched all text shadows to simply be DARK_WHITE. That still puts shadow over the colored
+ * bars, distinguishing the white from whatever bar color it may overlay, while leaving many more color
+ * slots in the 16-color palette for varied bar colors to support more row type variety as 4bpp.
+ */
};
static int vcr_present_mem_to_png(vcr_t *vcr, vcr_dest_t *dest)
{
- static png_color pal[] = { /* programming gfx like it's 1990 can be such a joy */
+ static png_color pal[16] = { /* programming gfx like it's 1990 can be such a joy */
[VCR_LUT_BLACK] = {},
[VCR_LUT_WHITE] = VCR_PNG_WHITE,
[VCR_LUT_RED] = VCR_PNG_RED,
@@ -2112,8 +2116,6 @@ static int vcr_present_mem_to_png(vcr_t *vcr, vcr_dest_t *dest)
[VCR_LUT_DARK_GRAY] = VCR_PNG_DARK_GRAY,
[VCR_LUT_DARKER_GRAY] = VCR_PNG_DARKER_GRAY,
[VCR_LUT_DARK_WHITE] = VCR_PNG_DARK_WHITE,
- [VCR_LUT_DARK_RED] = VCR_PNG_DARK_RED,
- [VCR_LUT_DARK_CYAN] = VCR_PNG_DARK_CYAN,
};
/* lut is an indirection table for mapping layer bit combinations to the above deduplicated denser color palette */
@@ -2153,11 +2155,11 @@ static int vcr_present_mem_to_png(vcr_t *vcr, vcr_dest_t *dest)
[VCR_GRAPHAB_ODD] = VCR_LUT_WHITE,
/* shadowed same but dark */
- [VCR_SHADOW_GRAPHA] = VCR_LUT_DARK_RED,
- [VCR_SHADOW_GRAPHB] = VCR_LUT_DARK_CYAN,
+ [VCR_SHADOW_GRAPHA] = VCR_LUT_DARK_WHITE, /* XXX: these used to be colored shadows, maybe an optiona 8bpp mode could bring them back */
+ [VCR_SHADOW_GRAPHB] = VCR_LUT_DARK_WHITE, /* XXX: these used to be colored shadows, maybe an optiona 8bpp mode could bring them back */
[VCR_SHADOW_GRAPHAB] = VCR_LUT_DARK_WHITE,
- [VCR_SHADOW_ODD_GRAPHA] = VCR_LUT_DARK_RED,
- [VCR_SHADOW_ODD_GRAPHB] = VCR_LUT_DARK_CYAN,
+ [VCR_SHADOW_ODD_GRAPHA] = VCR_LUT_DARK_WHITE, /* XXX: these used to be colored shadows, maybe an optiona 8bpp mode could bring them back */
+ [VCR_SHADOW_ODD_GRAPHB] = VCR_LUT_DARK_WHITE, /* XXX: these used to be colored shadows, maybe an optiona 8bpp mode could bring them back */
[VCR_SHADOW_ODD_GRAPHAB] = VCR_LUT_DARK_WHITE,
/* the rest get defaulted to black, which is great. */
© All Rights Reserved