
#ifndef __IMAGE_H__
#define __IMAGE_H__

#include "poly.h"
#include "scanline.h"



#define IMAGE_FONTLINE(a,b,c,d,e) (((a)<<0)+((b)<<1)+((c)<<2)+((d)<<3)+((e)<<4))



//---- IMAGE CLASS -----------------------------------------------------------//

class Image
{
public:

  int *buf;
  int w, h;
  int size;
  int ox, oy;

  Image( int w, int h );
  Image( int *buf, int w, int h );
  ~Image();

  void clear( int col );
  void checks( );

  void setOrigin( float ox, float oy );

  void fillPolygon( class Poly *p, int col );
  void drawPolygon( class Poly *p, int col );

  void fillScanline( int y, Scanline *sl, int col );
  void drawScanline( int y, Scanline *sl, int col );
  void drawVScanline( int x, Scanline *sl, int col );

  int blendCol( int col1, int col2, float a );

  void fillPolygonAA( class Poly *p, int col );
  void fillScanlineAA( int y, Scanline *sl, int col );
  void drawVScanlineAA( int y, Scanline *sl, int col );

  void drawText( int x, int y, char *s, int col );
  void drawChar( int x, int y, int c, int col );
  int textWidth( char *s );
  int textHeight( char *s );

private:

};



#endif
