#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 */
