diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-07-01 21:57:46 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-07-01 21:57:46 +0300 |
commit | 62e2ccbb158f146e2c3ceab14ff5581d3f3975ef (patch) | |
tree | 736e615b6ff94e09144df7df3aa06f9f231743ff /src/resources/sdl2imagehelper.cpp | |
parent | d3b57bd96a07a674432fd28cefd2f20ae5404b8b (diff) | |
download | manaplus-62e2ccbb158f146e2c3ceab14ff5581d3f3975ef.tar.gz manaplus-62e2ccbb158f146e2c3ceab14ff5581d3f3975ef.tar.bz2 manaplus-62e2ccbb158f146e2c3ceab14ff5581d3f3975ef.tar.xz manaplus-62e2ccbb158f146e2c3ceab14ff5581d3f3975ef.zip |
Add to image helper function to copy surface into part of image.
Diffstat (limited to 'src/resources/sdl2imagehelper.cpp')
-rw-r--r-- | src/resources/sdl2imagehelper.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/resources/sdl2imagehelper.cpp b/src/resources/sdl2imagehelper.cpp index c671a60c1..12e975ae6 100644 --- a/src/resources/sdl2imagehelper.cpp +++ b/src/resources/sdl2imagehelper.cpp @@ -94,4 +94,22 @@ int SDLImageHelper::combineSurface(SDL_Surface *restrict const src, return 1; } +void SDLImageHelper::copySurfaceToImage(Image *const image, + const int x, const int y, + SDL_Surface *const surface) const +{ + if (!image || !surface) + return; + + SDL_SetSurfaceAlphaMod(surface, SDL_ALPHA_OPAQUE); + SDL_SetSurfaceBlendMode(surface, SDL_BLENDMODE_NONE); + + SDL_Rect rect = + { + x, y, + surface->w, surface->h + }; + + SDL_BlitSurface(surface, nullptr, image->mSDLSurface, &rect); +} #endif // USE_SDL2 |