Fichier source en cours : FW - BMPFormatWrapper.h






Voici le code source cpp :




	#ifndef BMP_FORMAT_WRAPPER_H
#define BMP_FORMAT_WRAPPER_H

namespace fw
{
	class BMPFormatWrapper : public Singleton<BMPFormatWrapper>
	{
	public:
		BMPFormatWrapper();
		virtual ~BMPFormatWrapper();

		struct BMPImageFile
		{
			size_t iWidth;
			size_t iHeight;
			uint8* outBuffer;
		};

		bool LoadImageFile(const std::string& sFileName, BMPImageFile* outData, LoadMode iLoadMode);

		bool WriteImage(const std::string& sFileName, uint32 iWidth, uint32 iHeight,
			const uchar* pImageBuffer, fw::size_t32 iRowPitch);

		Dimension2D GetBitmapDimension(const std::string& sImageFileName);
		Dimension2D GetBitmapDimension(const FileBuffer* pBMPImageBuffer);

		void FillBMP_DIBSection(char* pBufferBMPFile, BYTE* lpBitmapBits, Dimension2D imageSize);

	private:
		void LoadBMPHeaders(const std::string& sImageFileName, 
			BITMAPFILEHEADER& bmpHeader, BITMAPINFOHEADER& bmpInfo);

		void LoadBMPHeaders(const FileBuffer* pBMPImageBuffer,
			BITMAPFILEHEADER& bmpHeader, BITMAPINFOHEADER& bmpInfo);
	};
}

#endif