#ifndef HEADER_PEN
#define HEADER_PEN

typedef struct {
	int				wid,ht;
	char			*buf;
	int ofsx,ofsy;
} PEN_DATA;

typedef PEN_DATA* Pen;

Pen pen_new(int wid,int ht);
void pen_destroy(Pen pen);
Pen pen_createCopy(Pen pen);
void pen_getPattern(Pen pen, char **buf, int *wid, int *ht);
int pen_setPattern(Pen pen, char *buf, int wid, int ht);
BOOL pen_IsNull(Pen pen);

void pen_setPixel(Pen pen,int x,int y,int gray);
int pen_getPixel(Pen pen,int x,int y);

#define	PENOFFSET(pen,x,y)	((pen)->wid*(uint)(y)+(uint)(x))

#endif
