Rev 6050 | Rev 6176 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6050 | Rev 6052 | ||
---|---|---|---|
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 | }; |
6 | } rgb; |
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 19... | Line 19... | ||
19 | _g = g << 8; |
19 | _g = g << 8; |
20 | return _b + _g + r; |
20 | return _b + _g + r; |
21 | } |
21 | } |
22 | 22 | ||
Line 23... | Line 23... | ||
23 | dword MixColors(dword _base, _overlying, byte a) |
23 | :dword MixColors(dword _base, _overlying, byte a) |
24 | { |
24 | { |
25 | _rgb rgb1, rgb2, rgb; |
25 | _rgb rgb1, rgb2, rgb_final; |
26 | byte n_a; |
26 | byte n_a; |
Line 27... | Line 27... | ||
27 | 27 | ||
28 | rgb1.DwordToRgb(_base); |
28 | rgb1.DwordToRgb(_base); |
Line 29... | Line 29... | ||
29 | rgb2.DwordToRgb(_overlying); |
29 | rgb2.DwordToRgb(_overlying); |
Line 30... | Line 30... | ||
30 | 30 | ||
31 | n_a = 255 - a; |
31 | n_a = 255 - a; |
32 | 32 | ||
Line 33... | Line 33... | ||
33 | rgb.b = calc(rgb1.b*a/255) + calc(rgb2.b*n_a/255); |
33 | rgb_final.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); |
34 | rgb_final.g = calc(rgb1.g*a/255) + calc(rgb2.g*n_a/255); |