diff options
author | Andrei Karas <akaras@inbox.ru> | 2013-11-09 17:59:14 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2013-11-09 17:59:14 +0300 |
commit | db1e60556c72b1b87ff2a384c556ccca724c46d6 (patch) | |
tree | 22a5f4e9c4f436ef8e746e0a2d688de80c1597a6 /src/resources/sdlimagehelper.cpp | |
parent | c2bb49be52a92deccec7428b6859242688fc8987 (diff) | |
parent | 1716861f0ee2f7a3714c5b44bb0f017c3d8d3b2c (diff) | |
download | plus-db1e60556c72b1b87ff2a384c556ccca724c46d6.tar.gz plus-db1e60556c72b1b87ff2a384c556ccca724c46d6.tar.bz2 plus-db1e60556c72b1b87ff2a384c556ccca724c46d6.tar.xz plus-db1e60556c72b1b87ff2a384c556ccca724c46d6.zip |
Merge branch 'master' into stable
Diffstat (limited to 'src/resources/sdlimagehelper.cpp')
-rw-r--r-- | src/resources/sdlimagehelper.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/resources/sdlimagehelper.cpp b/src/resources/sdlimagehelper.cpp index fa63517fc..f39ecf4cd 100644 --- a/src/resources/sdlimagehelper.cpp +++ b/src/resources/sdlimagehelper.cpp @@ -213,12 +213,15 @@ Image *SDLImageHelper::_SDLload(SDL_Surface *tmpImage) const const SDL_PixelFormat *const fmt = tmpImage->format; if (fmt->Amask) { + const uint32_t amask = fmt->Amask; + const uint8_t ashift = fmt->Ashift; + const uint8_t aloss = fmt->Aloss; + const uint32_t *pixels = static_cast<uint32_t*>(tmpImage->pixels); for (int i = 0; i < sz; ++ i) { - const unsigned v = ((static_cast<uint32_t*>( - tmpImage->pixels))[i] & fmt->Amask) >> fmt->Ashift; - const uint8_t a = static_cast<const uint8_t>((v << fmt->Aloss) - + (v >> (8 - (fmt->Aloss << 1)))); + const unsigned v = (pixels[i] & amask) >> ashift; + const uint8_t a = static_cast<const uint8_t>((v << aloss) + + (v >> (8 - (aloss << 1)))); if (a != 255) hasAlpha = true; |