/********************************************************
**                                                     **
**      $VER: Utility.h 2.0 (25 feb 2002)              **
**      Prototypes and private datatypes definition    **
**                                                     **
**      © T.Pierron, Free software                     **
**                                                     **
********************************************************/

#ifndef	UTILITY_H
#define	UTILITY_H

#ifndef	EXEC_NODES_H
#include <exec/nodes.h>
#endif

/** Charmap config's file template **/
#define	CFG_TEMPLATE         "HORIZONTALSORT/S,SHOWFONT/K,FONTLIST/K"
#define	DEF_PREFPATH         "S:CharMap.config"

typedef	struct
{
	struct MinNode pf_Node;
	STRPTR pf_FontName;
	UWORD  pf_Size;
	UBYTE  pf_Charset;
	UBYTE  pf_Type;

} *	PrefFont;

/** Possible values for pf_Flags field **/
#define	PTYP_SCREENFONT      1
#define	PTYP_DEFAULT         2
#define	PTYP_CUSTOM          3

/** Shorcut for some fields **/
#define	HEAD(lst)            ((PrefFont)lst.lh_Head)
#define	SUCC(node)           ((PrefFont)node->pf_Node.mln_Succ)

/** Public functions **/
struct TextFont * Get_pref_font ( UWORD  );
ULONG             Translate_code( UWORD  );
ULONG             Untrans_code  ( UWORD  );
BYTE              avert         ( STRPTR );
PrefFont          Add_pref_font ( struct TextFont *, UBYTE, UBYTE );
void              FreePrefFonts ( void );
void              CBWriteFTXT   ( STRPTR );
void              CBReadCHRS    ( STRPTR, WORD );
void              Translate_strings  ( void );
void              Font_list_to_table ( void );


#endif
