Rev 6020 | Rev 6052 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6020 | Rev 6050 | ||
---|---|---|---|
Line 2... | Line 2... | ||
2 | { |
2 | { |
3 | byte r,g,b; |
3 | byte r,g,b; |
4 | void DwordToRgb(); |
4 | void DwordToRgb(); |
5 | dword RgbToDword(); |
5 | dword RgbToDword(); |
6 | } rgb; |
6 | }; |
7 | 7 | ||
Line 8... | Line 8... | ||
8 | void _rgb::DwordToRgb(dword _dword) |
8 | void _rgb::DwordToRgb(dword _dword) |
9 | { |
9 | { |
10 | r = _dword & 0xFF; _dword >>= 8; |
10 | r = _dword & 0xFF; _dword >>= 8; |
11 | g = _dword & 0xFF; _dword >>= 8; |
11 | g = _dword & 0xFF; _dword >>= 8; |
Line 18... | Line 18... | ||
18 | _b = b << 16; |
18 | _b = b << 16; |
19 | _g = g << 8; |
19 | _g = g << 8; |
20 | return _b + _g + r; |
20 | return _b + _g + r; |
21 | }><>><> |
21 | } |
22 | 22 | ||
- | 23 | dword MixColors(dword _base, _overlying, byte a) |
|
- | 24 | { |
|
- | 25 | _rgb rgb1, rgb2, rgb; |
|
- | 26 | byte n_a; |
|
- | 27 | ||
- | 28 | rgb1.DwordToRgb(_base); |
|
- | 29 | rgb2.DwordToRgb(_overlying); |
|
- | 30 | ||
- | 31 | n_a = 255 - a; |
|
- | 32 | ||
- | 33 | rgb.b = calc(rgb1.b*a/255) + calc(rgb2.b*n_a/255); |
|
- | 34 | rgb.g = calc(rgb1.g*a/255) + calc(rgb2.g*n_a/255); |
|
- | 35 | rgb.r = calc(rgb1.r*a/255) + calc(rgb2.r*n_a/255); |
|
- | 36 | ||
- | 37 | return rgb.RgbToDword(); |
|
- | 38 | }><>><> |
|
- | 39 |