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.cpp42
1 files changed, 24 insertions, 18 deletions
diff --git a/src/resources/image.cpp b/src/resources/image.cpp
index cefb9d88..314de573 100644
--- a/src/resources/image.cpp
+++ b/src/resources/image.cpp
@@ -44,11 +44,6 @@ 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();
@@ -225,6 +220,24 @@ Image* Image::load(const char* buffer, unsigned int bufferSize)
#endif
}
+Image *Image::create(int width, int height)
+{
+#ifndef USE_OPENGL
+ SDL_Surface *surf =
+ SDL_AllocSurface(SDL_SWSURFACE, width, height, 32, 0, 0, 0, 0);
+
+ if (surf) {
+ return new Image(surf);
+ }
+ else {
+ return NULL;
+ }
+#else
+ return NULL;
+#endif
+}
+
+
void Image::unload()
{
// Free the image surface.
@@ -366,26 +379,19 @@ float Image::getAlpha()
return alpha;
}
-bool Image::create(int width, int height)
+void Image::fillWithColor(
+ unsigned char red, unsigned char green, unsigned blue)
{
- 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 )
- {
+#ifndef USE_OPENGL
+ if (image) {
+ Uint32 boxColor = SDL_MapRGB(image->format, red, green, blue);
SDL_Rect sourceRect;
sourceRect.x = sourceRect.y = 0;
sourceRect.w = image->w;
sourceRect.h = image->h;
SDL_FillRect(image, &sourceRect, boxColor);
}
+#endif
}
//============================================================================