#ifndef __DVB_SUBTITLES_REGION_H
#define __DVB_SUBTITLES_REGION_H

// forward declarations
class Object;
class Position;
class Clut;
class cBitmap;

class Region {
  
public:
  
  Region( int aId );
  ~Region();
  //  void AddObject( Object* object, Position aPosition );
  void SetSize( int aWidth, int aHeight );
  void SetBpp(int Bpp, int Loc);
  void SetPosition( int aX, int aY );
  int X();
  int Y();
  int Width();
  int Height();
  void SetClut( Clut* aClut );
  const Clut *GetClut () { return iClut; }
  void Draw( int aX, int aY, int aPixelCode, int rl = 1);
  void Create( void );
  cBitmap* Canvas( void );
  int Id();


private:
  
  // methods
  void Reset();

  // attributes
  int           iId;
  Clut*         iClut;
  int           iWidth;
  int           iHeight;
  int           iX;
  int           iY;
  cBitmap*      iCanvas;
  int           bpp,loc;

};

#endif //__DVB_SUBTITLES_REGION_H
