/*
 * fontmenu.h
 *
 * [Generated from fontmenu, 25 September 1996]
 */

#if !defined(__CC_NORCROFT) || !defined(__arm)
  #error You must use the Norcroft ARM Compiler for Sapphire programs
#endif

#pragma include_only_once
#pragma force_top_level

#ifndef __fontmenu_h
#define __fontmenu_h

#ifndef __sapphire_h
  #include "sapphire.h"
#endif

/*----- Overview ----------------------------------------------------------*
 *
 * Functions provided:
 *
 *  fm_create
 *  fm_tickFont
 *  fm_init
 */

/* --- fm_create --- *
 *
 * On entry:	R0 == current font name
 *		R1 == handler to call when selection made
 *		R2 == R10 value to call with
 *		R3 == R12 value to call with
 *		R4 == pointer to routine to call to create submenu
 *		      (ie. menu_create or tms_create)
 *
 * On exit:	CS if any fonts exist and
 *                 R0 == pointer to a menu definition
 *		  R1 == event handler to call
 *		  R2 == R10 value for event handler
 *		  R3 == R12 value for event handler
 *		else CC and
 *		  R0-R3 corrupted
 *		May return an error
 *
 * Use:		Creates a user menu definition suitable for passing directly
 *		to (menu|tms)_create. Note however, that the menu defintion
 *		does *not* include any title; this must be created first.
 *		If you require items such as the system font, then
 *		add these to the menu before creating the menu returned
 *		from this call.
 */

extern routine fm_create;

/* --- fm_tickFont --- *
 *
 * On entry:	R0 == name to tick
 *
 * On exit:	--
 *
 * Use:		Ticks the font with tht given name in the fontmenu. If
 *		no font exists then the existing ticks are removed
 */

extern routine fm_tickFont;

/* --- fm_init --- *
 *
 * On entry:	--
 *
 * On exit:	--
 *
 * Use:		Initialises the font menu system.
 */

extern routine fm_init;

/*----- Events ------------------------------------------------------------*/

#define fmEvent_select 0

/*----- That's all, folks -------------------------------------------------*/

#endif
