]> asedeno.scripts.mit.edu Git - PuTTY.git/commitdiff
Fix 256-colours-match-xterm, based on 256colres.pl from xterm-205.
authorBen Harris <bjh21@bjh21.me.uk>
Thu, 13 Oct 2005 21:56:43 +0000 (21:56 +0000)
committerBen Harris <bjh21@bjh21.me.uk>
Thu, 13 Oct 2005 21:56:43 +0000 (21:56 +0000)
Largely untested -- may not even compile on Windows.

[originally from svn r6393]

macosx/osxwin.m
unix/gtkwin.c
windows/window.c

index f3cba03201450e6d8905c0a8e2b26cdf98e832c5..e534c90991aa29704e57142d21e8b2e9f3e0c20c 100644 (file)
@@ -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];
        }
     }
index f969b046c1788ea57e01bf5720c9211e61b90d1b..6818fff85016369a23ad71c7a4122efb2f6f6c90 100644 (file)
@@ -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;
        }
index 713349369a4bd67835e9063f55665b6b6e3a4ae8..0bd800f6c6b104c775fae08e38a7a6f79b811209 100644 (file)
@@ -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;
        }