From 8098d5853359ee5b7b9c1ba3a57619af75a8374f Mon Sep 17 00:00:00 2001 From: ben Date: Thu, 13 Oct 2005 21:56:43 +0000 Subject: [PATCH] Fix 256-colours-match-xterm, based on 256colres.pl from xterm-205. Largely untested -- may not even compile on Windows. git-svn-id: svn://svn.tartarus.org/sgt/putty@6393 cda61777-01e9-0310-a592-d414129be87e --- macosx/osxwin.m | 5 +++-- unix/gtkwin.c | 8 ++++---- windows/window.c | 8 ++++---- 3 files changed, 11 insertions(+), 10 deletions(-) diff --git a/macosx/osxwin.m b/macosx/osxwin.m index f3cba032..e534c909 100644 --- a/macosx/osxwin.m +++ b/macosx/osxwin.m @@ -986,10 +986,11 @@ void palette_reset(void *frontend) for (i = 0; i < NEXTCOLOURS; i++) { if (i < 216) { int r = i / 36, g = (i / 6) % 6, b = i % 6; - [win setColour:i+16 r:r/5.0 g:g/5.0 b:b/5.0]; + r = r ? r*40+55 : 0; g = g ? b*40+55 : 0; b = b ? b*40+55 : 0; + [win setColour:i+16 r:r/255.0 g:g/255.0 b:b/255.0]; } else { int shade = i - 216; - float fshade = (shade + 1) / (float)(NEXTCOLOURS - 216 + 1); + float fshade = (shade * 10 + 8) / 255.0; [win setColour:i+16 r:fshade g:fshade b:fshade]; } } diff --git a/unix/gtkwin.c b/unix/gtkwin.c index f969b046..6818fff8 100644 --- a/unix/gtkwin.c +++ b/unix/gtkwin.c @@ -1407,12 +1407,12 @@ void palette_reset(void *frontend) for (i = 0; i < NEXTCOLOURS; i++) { if (i < 216) { int r = i / 36, g = (i / 6) % 6, b = i % 6; - inst->cols[i+16].red = r * 0x3333; - inst->cols[i+16].green = g * 0x3333; - inst->cols[i+16].blue = b * 0x3333; + inst->cols[i+16].red = r ? r * 0x2828 + 0x3737 : 0; + inst->cols[i+16].green = g ? g * 0x2828 + 0x3737 : 0; + inst->cols[i+16].blue = b ? b + 0x2828 + 0x3737 : 0; } else { int shade = i - 216; - shade = (shade + 1) * 0xFFFF / (NEXTCOLOURS - 216 + 1); + shade = shade * 0x0a0a + 0x0808; inst->cols[i+16].red = inst->cols[i+16].green = inst->cols[i+16].blue = shade; } diff --git a/windows/window.c b/windows/window.c index 71334936..0bd800f6 100644 --- a/windows/window.c +++ b/windows/window.c @@ -1135,12 +1135,12 @@ static void cfgtopalette(void) for (i = 0; i < NEXTCOLOURS; i++) { if (i < 216) { int r = i / 36, g = (i / 6) % 6, b = i % 6; - defpal[i+16].rgbtRed = r * 0x33; - defpal[i+16].rgbtGreen = g * 0x33; - defpal[i+16].rgbtBlue = b * 0x33; + defpal[i+16].rgbtRed = r ? r * 40 + 55 : 0; + defpal[i+16].rgbtGreen = g ? g * 40 + 55 : 0; + defpal[i+16].rgbtBlue = b ? b * 40 + 55 : 0; } else { int shade = i - 216; - shade = (shade + 1) * 0xFF / (NEXTCOLOURS - 216 + 1); + shade = shade * 10 + 8; defpal[i+16].rgbtRed = defpal[i+16].rgbtGreen = defpal[i+16].rgbtBlue = shade; } -- 2.11.0