diff options
Diffstat (limited to 'texturesdl.cpp')
| -rw-r--r-- | texturesdl.cpp | 23 | 
1 files changed, 23 insertions, 0 deletions
diff --git a/texturesdl.cpp b/texturesdl.cpp new file mode 100644 index 0000000..bab760b --- /dev/null +++ b/texturesdl.cpp @@ -0,0 +1,23 @@ +#include <stdexcept> +#include <SDL/SDL_image.h> +#include <SDL/SDL_opengl.h> +#include "texturesdl.h" + +TextureSDL::TextureSDL(const char* filename) { +	SDL_Surface* image = IMG_Load(filename); +	 +	width = image->w; +	height = image->h; +	 +	if(image->format->BytesPerPixel == 4) { +		format = image->format->Bshift ? GL_RGBA : GL_BGRA; +	} else { +		format = image->format->Bshift ? GL_RGB : GL_BGR; +	} +	 +	data = (unsigned char*)image->pixels; +	 +	build(); +	 +	SDL_FreeSurface(image); +}  | 
