#ifndef __Ras_Comp_h
#define __Ras_Comp_h


class Raster2DACompact: virtual public Raster2DAbstract
	{
public:	virtual ~Raster2DACompact() 			{Erase2DBlock();}

	virtual void Allocate2D(unsigned NewSize1D, unsigned NewSize2D);
	virtual void Erase(void)			{Erase2DBlock();}
	virtual void Erase2D(void)			{Erase2DBlock();}

	Raster1DAbstract *GetRowRaster(unsigned Offset2D);
	
	friend Raster2DAbstract *CreateCompRaster2D(unsigned SizeX, unsigned SizeY, int Planes);

protected:
	void Erase2DBlock(void);
	};

Raster2DAbstract *CreateCompRaster2D(unsigned SizeX, unsigned SizeY, int Planes);
Raster2DAbstract *CreateCompRaster2DRGB(unsigned SizeX, unsigned SizeY, int Planes);


#endif //__Rasters_h
