/*
*	ImageTGA.h
*
*	Programmé par Hillaire Sébastien
*
*
*	- utilité :
*		charge un bmp 24bits a partir d'un chemein
*
*	- version :
*		1.0
*
*	- update :
*		06/11/2004 : première version
*
*	- NOTE :
*		...
*
*/

#ifndef _IMAGE_TGA_
#define _IMAGE_TGA_

#ifdef WIN32
#include "windows.h"
#endif


#include <iostream>
#include "Image.h"

#include "MemoryManager/DebugNew.h"

namespace RenderSystem
{

	/**
	* Classe permettant de charger un fichier TGA
	*/
	class ImageTGA : public Image
	{
	protected:
		
		/**
		* Le nombre de bits par pixel de l'image
		*/
		int bpp;
		/**
		* La largeur de l'image
		*/
		int width;
		/**
		* La hauteur de l'image
		*/
		int height;

	public:
		
		/**
		* @return le pointeur sur le buffer d'image RGB.
		*/
		unsigned char* getDatasPointer();
		
		/**
		* @return la nombre de bit par pixel (doit être 24)
		*/
		unsigned short getBPP();
		
		/**
		* @return la hauteur de l'image
		*/
		unsigned int getHeight();
		
		/**
		* @return la largeur de l'image
		*/
		unsigned int getWidth();
		
		/**
		* charge l'image à partir du fichier spécifier.
		*
		* @param filepath le chemin de l'image a charger
		*
		* @return true si l'image a bien été chargée. false si image non trouvé ou extension non valide.
		*/
		bool load(char *filepath);
		
		/**
		* constructeur
		*/
		ImageTGA();
		
		/**
		* destructeur
		*/
		~ImageTGA();

	};
};// namespace RenderSystem


#include "MemoryManager/DebugNewOff.h"

#endif