OSDN Git Service

Fixed issue #113: (10) Push and push times out on WebDAV passwords
[tortoisegit/TortoiseGitJp.git] / src / TortoiseProc / Colors.cpp
index cc98a5f..ecc3e87 100644 (file)
@@ -99,3 +99,31 @@ void CColors::SetColor(Colors col, COLORREF cr)
                i++;\r
        }\r
 }\r
+\r
+\r
+COLORREF CColors::MixColors(COLORREF baseColor, COLORREF newColor, unsigned char mixFactor)\r
+{\r
+       short colRed;\r
+       short colGreen;\r
+       short colBlue;\r
+       colRed   = ((float)( baseColor&0x000000FF)     -(float)( newColor&0x000000FF)     )*mixFactor/0xFF;//red\r
+       colGreen = ((float)((baseColor&0x0000FF00)>>8) -(float)((newColor&0x0000FF00)>>8 ))*mixFactor/0xFF;//green\r
+       colBlue  = ((float)((baseColor&0x00FF0000)>>16)-(float)((newColor&0x00FF0000)>>16))*mixFactor/0xFF;//blue\r
+       \r
+       colRed   = ( baseColor&0x000000FF)              -colRed;\r
+       colGreen = ((baseColor&0x0000FF00)>>8)  -colGreen;\r
+       colBlue  = ((baseColor&0x00FF0000)>>16) -colBlue;\r
+       baseColor=(int)colRed|((int)colGreen<<8)|((int)colBlue<<16);\r
+       return baseColor;\r
+}\r
+\r
+COLORREF CColors::Lighten(COLORREF baseColor, unsigned char amount)\r
+{\r
+       return MixColors(baseColor, RGB(255,255,255), amount);\r
+}\r
+\r
+COLORREF CColors::Darken(COLORREF baseColor, unsigned char amount)\r
+{\r
+       return MixColors(baseColor, RGB(0,0,0), amount);\r
+}\r
+\r