summaryrefslogtreecommitdiff
path: root/lib/libmenu/m_item_vis.c
diff options
context:
space:
mode:
Diffstat (limited to 'lib/libmenu/m_item_vis.c')
-rw-r--r--lib/libmenu/m_item_vis.c53
1 files changed, 53 insertions, 0 deletions
diff --git a/lib/libmenu/m_item_vis.c b/lib/libmenu/m_item_vis.c
new file mode 100644
index 00000000000..36eeaeb6887
--- /dev/null
+++ b/lib/libmenu/m_item_vis.c
@@ -0,0 +1,53 @@
+
+/***************************************************************************
+* COPYRIGHT NOTICE *
+****************************************************************************
+* ncurses is copyright (C) 1992-1995 *
+* Zeyd M. Ben-Halim *
+* zmbenhal@netcom.com *
+* Eric S. Raymond *
+* esr@snark.thyrsus.com *
+* *
+* Permission is hereby granted to reproduce and distribute ncurses *
+* by any means and for any fee, whether alone or as part of a *
+* larger distribution, in source or in binary form, PROVIDED *
+* this notice is included with any such distribution, and is not *
+* removed from any of its header files. Mention of ncurses in any *
+* applications linked with it is highly appreciated. *
+* *
+* ncurses comes AS IS with no warranty, implied or expressed. *
+* *
+***************************************************************************/
+
+/***************************************************************************
+* Module menu_item_vis *
+* Tell if menu item is visible *
+***************************************************************************/
+
+#include "menu.priv.h"
+
+/*---------------------------------------------------------------------------
+| Facility : libnmenu
+| Function : bool item_visible(const ITEM *item)
+|
+| Description : A item is visible if it currently appears in the
+| subwindow of a posted menu.
+|
+| Return Values : TRUE if visible
+| FALSE if invisible
++--------------------------------------------------------------------------*/
+bool item_visible(const ITEM * item)
+{
+ MENU *menu;
+
+ if ( item &&
+ (menu=item->imenu) &&
+ (menu->status & _POSTED) &&
+ ( (menu->toprow + menu->height - 1) >= (item->y) ) &&
+ ( item->y >= menu->toprow) )
+ return TRUE;
+ else
+ return FALSE;
+}
+
+/* m_item_vis.c ends here */