#ifndef _TEXT_H
#define _TEXT_H
#ifdef __cplusplus
extern "C" {
#endif
    extern CONST struct xfont {
	CONST unsigned char *data;
	int width, height, realwidth;
    } xsmallfont, xbigfont, xbigfont2, xaafont, xsmallfontil1, xbigfontil1,
	xmedfontil1, xbigfont3;
    int xiconv(int encoding, char *out, int *outlen, const char *in,
	       int *inlen);
    int xprint(struct image *image, CONST struct xfont *current, int x,
	       int y, CONST char *text, int encoding, int fgcolor,
	       int bgcolor, int mode);
#define TEXT_PRESSED 1

#define xtextheight(font) ((font)->height+1)
#define xtextcharw(font,c) ((font)->width)
    int xtextwidth(CONST struct xfont *font, CONST char *text);
    void xrectangle(struct image *image, int x, int y, int width,
		    int height, int fgcolor);
    void xvline(struct image *image, int x, int y, int height,
		int fgcolor);
    void xhline(struct image *image, int x, int y, int width, int fgcolor);
    char *xsaveline(struct image *img, int x1, int y1, int x2, int y2);
    void xrestoreline(struct image *img, char *data, int x1, int y1,
		      int x2, int y2);
    void xline(struct image *img, int x1, int y1, int x2, int y2,
	       int color);
    void xprepareimage(struct image *img);
    void xdrawcursor(struct image *img, int x, int y, int color,
		     int height);
#ifdef __cplusplus
}
#endif
#endif
