diff options
Diffstat (limited to 'src/resources/image.cpp')
-rw-r--r-- | src/resources/image.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/src/resources/image.cpp b/src/resources/image.cpp index d30d6c92..cefb9d88 100644 --- a/src/resources/image.cpp +++ b/src/resources/image.cpp @@ -44,6 +44,11 @@ Image::Image(GLuint image, int width, int height, int texWidth, int texHeight): alpha = 1.0f; } +Image::Image():image(image) +{ + alpha = 1.0f; +} + Image::~Image() { unload(); @@ -361,7 +366,30 @@ float Image::getAlpha() return alpha; } +bool Image::create(int width, int height) +{ + image = SDL_AllocSurface(SDL_SWSURFACE, width, height, 32, 0, 0, 0, 0); + if ( image ) + return true; + else + return false; +} +void Image::fillWithColor(unsigned char red, unsigned char green, unsigned blue) +{ + Uint32 boxColor = SDL_MapRGB(SDL_GetVideoSurface()->format, red, green, blue); + if ( image ) + { + SDL_Rect sourceRect; + sourceRect.x = sourceRect.y = 0; + sourceRect.w = image->w; + sourceRect.h = image->h; + SDL_FillRect(image, &sourceRect, boxColor); + } +} + +//============================================================================ +// SubImage Class //============================================================================ #ifndef USE_OPENGL |