summaryrefslogtreecommitdiff
path: root/src/resources/atlasmanager.cpp
diff options
context:
space:
mode:
authorAndrei Karas <akaras@inbox.ru>2013-08-24 18:51:52 +0300
committerAndrei Karas <akaras@inbox.ru>2013-08-24 21:08:17 +0300
commit43fd8a8d53d4bd811a8e4d468a78f201148e5896 (patch)
treed9301ad729927db224c35636890782e4748b0599 /src/resources/atlasmanager.cpp
parent889ea19ddd5b4240375793d5030a04ed4642ec66 (diff)
downloadplus-43fd8a8d53d4bd811a8e4d468a78f201148e5896.tar.gz
plus-43fd8a8d53d4bd811a8e4d468a78f201148e5896.tar.bz2
plus-43fd8a8d53d4bd811a8e4d468a78f201148e5896.tar.xz
plus-43fd8a8d53d4bd811a8e4d468a78f201148e5896.zip
fix atlases cretion in SDL2.
Diffstat (limited to 'src/resources/atlasmanager.cpp')
-rw-r--r--src/resources/atlasmanager.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/src/resources/atlasmanager.cpp b/src/resources/atlasmanager.cpp
index 853f79743..4b3656ee6 100644
--- a/src/resources/atlasmanager.cpp
+++ b/src/resources/atlasmanager.cpp
@@ -200,10 +200,6 @@ void AtlasManager::simpleSort(const std::string &name,
SDL_Surface *AtlasManager::createSDLAtlas(TextureAtlas *const atlas)
{
-#ifdef USE_SDL2
- // +++ should be enabled after
- return nullptr;
-#else
#if SDL_BYTEORDER == SDL_BIG_ENDIAN
const int rmask = 0xff000000;
const int gmask = 0x00ff0000;
@@ -244,19 +240,22 @@ SDL_Surface *AtlasManager::createSDLAtlas(TextureAtlas *const atlas)
if (image)
{
+ if (image->mSDLSurface)
+ {
#ifdef USE_SDL2
- SDL_SetSurfaceAlphaMod(image->mSDLSurface, 255);
+ SDL_SetSurfaceAlphaMod(image->mSDLSurface, SDL_ALPHA_OPAQUE);
+ SDL_SetSurfaceBlendMode (image->mSDLSurface, SDL_BLENDMODE_NONE);
#else
- SDL_SetAlpha(image->mSDLSurface, 0, SDL_ALPHA_OPAQUE);
+ SDL_SetAlpha(image->mSDLSurface, 0, SDL_ALPHA_OPAQUE);
#endif
- graphics->drawImage(image, item->x, item->y);
+ graphics->drawImage(image, item->x, item->y);
+ }
}
}
delete graphics;
atlas->surface = surface;
return surface;
-#endif
}
void AtlasManager::convertAtlas(TextureAtlas *const atlas)