00001 00002 00003 #define GDC_RLE_COLOUR 0x0001 00004 #define GDC_RLE_MONO 0x0002 00005 #define GDC_RLE_READONLY 0x0004 00006 00007 class LgiClass GdcRleDC : public GdcDibSection { 00008 protected: 00009 int Sx; 00010 int Sy; 00011 int Bits; 00012 00013 int Flags; 00014 int Length; 00015 int Alloc; 00016 uchar *Data; 00017 uchar **ScanLine; 00018 00019 BOOL SetLength(int Len); 00020 BOOL FindScanLines(); 00021 void Empty(); 00022 00023 public: 00024 GdcRleDC(); 00025 virtual ~GdcRleDC(); 00026 00027 BOOL Create(int x, int y, int Bits, int LineLen = 0); 00028 BOOL CreateInfo(int x, int y, int Bits); 00029 00030 void Update(int Flags); 00031 void Draw(GSurface *Dest, int x, int y); 00032 BOOL Read(GFile &F); 00033 BOOL Write(GFile &F); 00034 }; 00035