// PCXImage.h: interface for the CPCXImage class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_PCXIMAGE_H__71328FEB_F33F_4AC8_919A_3BC5E957A1E3__INCLUDED_)
#define AFX_PCXIMAGE_H__71328FEB_F33F_4AC8_919A_3BC5E957A1E3__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "Image.h"

class CPCXImage : public CImage  
{
private:
	#pragma pack(push, 1)
	typedef struct _PCXFILEHEADER
	{
		char	manufacturer;
		char	version;
		char	encoding;
		char	bitsPerPixel;
		WORD	xmin, ymin, xmax, ymax;
		WORD	hres, vres;
		BYTE	palette[48];
		char	reserved;
		char	colorPlanes;
		WORD	bytesPerLine;
		WORD	paletteType;
		char	filler[58];
		BYTE	data;			// unbounded
	} PCXFILEHEADER;
	#pragma pack(pop)

public:
	CPCXImage();
	virtual ~CPCXImage();

	bool Load(LPSTR lpszFileName);
};

#endif // !defined(AFX_PCXIMAGE_H__71328FEB_F33F_4AC8_919A_3BC5E957A1E3__INCLUDED_)
