X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=menu%2Fmenu.h;h=476ab3cdbef4f6e27e168edbc72385a142cb650d;hp=84352eb5d2f66f72767c2d4651b604c6cacc3477;hb=4496a3f032d219fc5f622e9d82b0cd749e36fa0e;hpb=b6d7123594f6959ad0a6602b3952d9e6abe261a0;ds=inline diff --git a/menu/menu.h b/menu/menu.h index 84352eb5..476ab3cd 100644 --- a/menu/menu.h +++ b/menu/menu.h @@ -1,5 +1,5 @@ /**************************************************************************** - * Copyright (c) 1998-2003,2007 Free Software Foundation, Inc. * + * Copyright (c) 1998-2016,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * * copy of this software and associated documentation files (the * @@ -30,7 +30,7 @@ * Author: Juergen Pfeifer, 1995,1997 * ****************************************************************************/ -/* $Id: menu.h,v 1.19 2007/02/24 17:32:13 tom Exp $ */ +/* $Id: menu.h,v 1.23 2017/02/11 16:54:04 tom Exp $ */ #ifndef ETI_MENU #define ETI_MENU @@ -56,17 +56,23 @@ typedef int Item_Options; #define O_IGNORECASE (0x08) #define O_SHOWMATCH (0x10) #define O_NONCYCLIC (0x20) +#define O_MOUSE_MENU (0x40) /* Item options: */ #define O_SELECTABLE (0x01) +#if !NCURSES_OPAQUE_MENU typedef struct { const char* str; unsigned short length; } TEXT; +#endif /* !NCURSES_OPAQUE_MENU */ + +struct tagMENU; typedef struct tagITEM +#if !NCURSES_OPAQUE_MENU { TEXT name; /* name of menu item */ TEXT description; /* description of item, optional in display */ @@ -83,11 +89,14 @@ typedef struct tagITEM struct tagITEM *up; struct tagITEM *down; -} ITEM; +} +#endif /* !NCURSES_OPAQUE_MENU */ +ITEM; typedef void (*Menu_Hook)(struct tagMENU *); typedef struct tagMENU +#if 1 /* not yet: !NCURSES_OPAQUE_MENU */ { short height; /* Nr. of chars high */ short width; /* Nr. of chars wide */ @@ -128,8 +137,9 @@ typedef struct tagMENU Menu_Options opt; /* Menu options */ unsigned short status; /* Internal state of menu */ - -} MENU; +} +#endif /* !NCURSES_OPAQUE_MENU */ +MENU; /* Define keys */ @@ -249,6 +259,10 @@ extern NCURSES_EXPORT(bool) item_visible (const ITEM *); extern NCURSES_EXPORT(void) menu_format (const MENU *,int *,int *); +#if NCURSES_SP_FUNCS +extern NCURSES_EXPORT(MENU *) NCURSES_SP_NAME(new_menu) (SCREEN*, ITEM **); +#endif + #ifdef __cplusplus } #endif