diff options
author | Max Horn | 2009-02-13 19:24:32 +0000 |
---|---|---|
committer | Max Horn | 2009-02-13 19:24:32 +0000 |
commit | 4dbbbc13583314b5f738689afed20935969da652 (patch) | |
tree | 8ca0804e80cbd3ec8976583a49a6f8d957ad1d77 /graphics | |
parent | b1038f97a2daedaafc733a780dca0cdd0f55115a (diff) | |
download | scummvm-rg350-4dbbbc13583314b5f738689afed20935969da652.tar.gz scummvm-rg350-4dbbbc13583314b5f738689afed20935969da652.tar.bz2 scummvm-rg350-4dbbbc13583314b5f738689afed20935969da652.zip |
GUI: Fixed long-standing bug in calcGradient (gradients look a bit better now)
svn-id: r36311
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/VectorRendererSpec.cpp | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/graphics/VectorRendererSpec.cpp b/graphics/VectorRendererSpec.cpp index a6b3436e4c..4926479a8b 100644 --- a/graphics/VectorRendererSpec.cpp +++ b/graphics/VectorRendererSpec.cpp @@ -423,9 +423,9 @@ calcGradient(uint32 pos, uint32 max) { PixelType output = 0; pos = (MIN(pos * Base::_gradientFactor, max) << 12) / max; - output |= (_gradientStart + ((Base::_gradientBytes[0] * pos) >> 12)) & _redMask; - output |= (_gradientStart + ((Base::_gradientBytes[1] * pos) >> 12)) & _greenMask; - output |= (_gradientStart + ((Base::_gradientBytes[2] * pos) >> 12)) & _blueMask; + output |= ((_gradientStart&_redMask) + ((Base::_gradientBytes[0] * pos) >> 12)) & _redMask; + output |= ((_gradientStart&_greenMask) + ((Base::_gradientBytes[1] * pos) >> 12)) & _greenMask; + output |= ((_gradientStart&_blueMask) + ((Base::_gradientBytes[2] * pos) >> 12)) & _blueMask; output |= ~(_redMask | _greenMask | _blueMask); return output; |