#ifndef OGBLIT_H
#define OGBLIT_H

#include "ogSprite.h"

class ogBlit: public ogSprite {
 protected:
  uInt8 *        blitMask;
  uInt32         blitMaskSize;
  uInt32         totalPixCount;
  int32          startX, startY;
  int32          endX, endY;
  
  void           blitSize(ogSurface&, int32, int32, int32, int32);
  void           getBlitMask(ogSurface&, int32, int32);
 public:
                 ogBlit(void);
  virtual void   get(ogSurface&, int32, int32, int32, int32);
  void           getBlitWithMask(ogSurface&, int32, int32);
  uInt32         getBlitMaskSize(void) { return blitMaskSize; }
  virtual uInt32 getSize(void);
  virtual bool   loadFrom(const char *, uInt32);
  virtual void   put(ogSurface&, int32, int32);
  virtual bool   saveTo(const char *, int32);
  virtual        ~ogBlit(void);
}; // ogBlit

#endif
