#ifndef	FONTHEAD_H
#define	FONTHEAD_H

/*
 *  Common font object.
 */

typedef struct fonthead_s
{
	libv_object_t base;
	/* Drawing procedure */
	void	(V_CALL *draw_char)
    	(struct fonthead_s *self,u32_t ch,vec_t *dx_return);
    /* Procedure to get glyph extents */
	void	(V_CALL *get_char_extents)(struct fonthead_s *self,
    	u32_t ch,vec_t *x,vec_t *y);
    vec_t   height;     /* Maximal height of capital */
    vec_t   ascent;     /* Maximal distance from baseline to top */
    vec_t   descent;    /* Maximal distance from baseline to bottom */
	vec_t	line_width;
	vboolean	line_smooth;
	gl_string_parameters_t	sp;
}	fonthead_t, *fonthead_p;

#ifdef	CHECKED_BUILD  
extern char *fh_object; /* in stroke.c */
#define	FH_MAGIC	0x464F4E54		/* FONT */
#endif	/* CHECKED_BUILD */

#endif	/* FONTHEAD_H */
