 
#ifndef __dl_template_h
#define __dl_template_h
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __dl_sprite_h
#include "Sprite.h"
#endif
#ifndef __dl_linklist_h
#include "LinkList.h"
#endif
extern void Template_Initialise(void);
extern window_block *Template_Find(char *name);
extern window_block *Template_Clone(char *name, int maxtitlesize);
#define template_TITLEDEFAULT (0)
#define template_TITLEMIN (-1)
extern void Template_Free(window_block **windowdef);
extern void Template_Delete(char *name);
extern void Template_ClearAll(void);
extern void Template_LoadFile(char *leafname);
extern void Template_UseOutlineFonts(void);
extern void Template_UseSpriteArea(sprite_area area);
extern void Template_LinkSpriteArea(char *identifier, sprite_area area);
typedef struct
{
linklist_header header;
char identifier[wimp_MAXNAME + 1];
window_block *windowdef;
int dataoffset;
int templatesize; 
int indirectsize; 
char *indirectdata;
} template_record;
#ifdef _DeskLib_SDLS
extern linklist_header *Template__Ref_list( void);
extern font_array **Template__Ref_fontarray( void);
#endif
#if defined( _DeskLib_SDLS) && !defined( _DeskLib_Template)
#define template_list (*Template__Ref_list())
#define template_fontarray (*Template__Ref_fontarray())
#else
extern linklist_header template_list;
extern font_array *template_fontarray;
#endif
#ifdef __cplusplus
}
#endif
#endif
