summaryrefslogtreecommitdiff
path: root/src/resources/image.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/resources/image.cpp')
-rw-r--r--src/resources/image.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/src/resources/image.cpp b/src/resources/image.cpp
index 2ec867ec..2798fa05 100644
--- a/src/resources/image.cpp
+++ b/src/resources/image.cpp
@@ -198,6 +198,23 @@ Image* Image::load(const std::string &filePath, int flags)
#endif
}
+Image* Image::load(const char* buffer, const unsigned int bufferSize)
+{
+ // Define our RWops structure
+ SDL_RWops* rw = NULL;
+
+ // Load the raw file data from the buffer
+ rw = SDL_RWFromMem((void*)buffer, bufferSize);
+
+ // Use SDL_Image to load the raw image data
+ SDL_Surface* texture = IMG_Load_RW(rw, 1);
+
+ // Now free the SDL_RWops data
+ //SDL_FreeRW(rw);
+
+ return new Image(texture);
+}
+
void Image::unload()
{
// Free the image surface.