 
#ifndef __dl_menu_h
#define __dl_menu_h
#ifdef __cplusplus
extern "C" {
#endif
#ifndef __dl_core_h
#include "Core.h"
#endif
#ifndef __dl_wimp_h
#include "Wimp.h"
#endif
#ifndef __dl_event_h
#include "Event.h"
#endif
extern menu_ptr Menu_New(char *title, char *description);
extern menu_ptr Menu_Extend(menu_ptr menu, char *description);
extern void Menu_Show(menu_ptr menu, int x, int y);
extern void Menu_ShowLast(void);
extern void Menu_PopUp(menu_ptr menu,window_handle window,icon_handle icon);
extern void Menu_PopUpAuto(menu_ptr menu);
extern void Menu_AddSubMenu(menu_ptr menu, int entry, menu_ptr submenu);
extern void Menu_MakeIndirected(menu_ptr menu, int entry,
char *buffer, int size);
extern void Menu_MakeWritable(menu_ptr menu, int entry,
char *buffer, int size, char *valid);
extern void Menu_SetFlags(menu_ptr menu, int entry, int ticked, int shaded);
extern void Menu_GetFlags(menu_ptr menu, int entry, int *ticked, int *shaded);
extern void Menu_SetText(menu_ptr menu, int entry, char *text);
extern char *Menu_GetText(menu_ptr menu, int entry);
extern int Menu_CalcHeight(menu_ptr menu);
#define Menu_SysHandle(menu) (menu)
#define Menu_SDispose(menu) free(menu)
extern void Menu_FullDispose(menu_ptr menu);
extern void Menu_RemoveItem(menu_ptr menu, int entry);
extern void Menu_Warn(menu_ptr menu, int entry, BOOL yesno,
event_handler handler, void *reference);
extern void Menu_ReviseWidth(menu_ptr menu);
#define Menu_FirstItem(menu) ((menu_item *) (((menu_ptr) (menu) + 1)))
#define Menu_FontMenu_NOTICK 0 
#define Menu_FontMenu_TICKSYSFONT ((char *)1) 
extern menu_ptr Menu_FontMenu(BOOL sysfont, char *tick);
extern menu_ptr Menu_FontMenu3(BOOL sysfont, char *tick);
extern char *Menu_FontMenuDecode(int *selection);
extern char *Menu_FontMenuDecode3(int *selection);
#ifdef _DeskLib_SDLS
extern menu_ptr *Menu__Ref_fontmenu( void);
extern wimp_point *Menu__Ref_currentpos( void);
extern menu_ptr *Menu__Ref_currentopen( void);
#endif
#if defined( _DeskLib_SDLS) && !defined( _DeskLib_Menu)
#define menu_fontmenu (*Menu__Ref_fontmenu())
#define menu_currentpos (*Menu__Ref_currentpos())
#define menu_currentopen (*Menu__Ref_currentopen())
#else
extern menu_ptr menu_fontmenu;
extern wimp_point menu_currentpos; 
extern menu_ptr menu_currentopen; 
#endif
#ifdef __cplusplus
}
#endif
#endif
