summaryrefslogtreecommitdiff
path: root/src/resources/sdlimagehelper.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-11-09 17:59:14 +0300
committerAndrei Karas <akaras@inbox.ru>2013-11-09 17:59:14 +0300
commitdb1e60556c72b1b87ff2a384c556ccca724c46d6 (patch)
tree22a5f4e9c4f436ef8e746e0a2d688de80c1597a6 /src/resources/sdlimagehelper.cpp
parentc2bb49be52a92deccec7428b6859242688fc8987 (diff)
parent1716861f0ee2f7a3714c5b44bb0f017c3d8d3b2c (diff)
downloadplus-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.cpp11
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;