summaryrefslogtreecommitdiff
path: root/menus.h
diff options
context:
space:
mode:
authorBranden Robinson <branden@debian.org>2005-11-06 00:35:41 +0000
committerBranden Robinson <branden@debian.org>2005-11-06 00:35:41 +0000
commitf72ceed5dbbe14bb38e6b07adf7759e2f4c7dbe8 (patch)
tree794a31abf6e18deb779eee70ad18fe78fa194b2e /menus.h
Import vtwm_5.4.7.orig.tar.gz
[dgit import orig vtwm_5.4.7.orig.tar.gz]
Diffstat (limited to 'menus.h')
-rw-r--r--menus.h220
1 files changed, 220 insertions, 0 deletions
diff --git a/menus.h b/menus.h
new file mode 100644
index 0000000..de8761a
--- /dev/null
+++ b/menus.h
@@ -0,0 +1,220 @@
+/*****************************************************************************/
+/** Copyright 1988 by Evans & Sutherland Computer Corporation, **/
+/** Salt Lake City, Utah **/
+/** Portions Copyright 1989 by the Massachusetts Institute of Technology **/
+/** Cambridge, Massachusetts **/
+/** **/
+/** All Rights Reserved **/
+/** **/
+/** Permission to use, copy, modify, and distribute this software and **/
+/** its documentation for any purpose and without fee is hereby **/
+/** granted, provided that the above copyright notice appear in all **/
+/** copies and that both that copyright notice and this permis- **/
+/** sion notice appear in supporting documentation, and that the **/
+/** names of Evans & Sutherland and M.I.T. not be used in advertising **/
+/** in publicity pertaining to distribution of the software without **/
+/** specific, written prior permission. **/
+/** **/
+/** EVANS & SUTHERLAND AND M.I.T. DISCLAIM ALL WARRANTIES WITH REGARD **/
+/** TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANT- **/
+/** ABILITY AND FITNESS, IN NO EVENT SHALL EVANS & SUTHERLAND OR **/
+/** M.I.T. BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAM- **/
+/** AGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA **/
+/** OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER **/
+/** TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE **/
+/** OR PERFORMANCE OF THIS SOFTWARE. **/
+/*****************************************************************************/
+
+
+/***********************************************************************
+ *
+ * $XConsortium: menus.h,v 1.24 89/12/10 17:46:26 jim Exp $
+ *
+ * twm menus include file
+ *
+ * 17-Nov-87 Thomas E. LaStrange File created
+ *
+ ***********************************************************************/
+
+#ifndef _MENUS_
+#define _MENUS_
+
+#define TWM_ROOT "bLoB_GoOp" /* my private root menu */
+
+#define TWM_WINDOWS "TwmWindows" /* for f.menu "TwmWindows" */
+
+/* djhjr - 5/4/98 */
+#define VTWM_WINDOWS "VTWM Windows" /* for f.menu "VTWM Windows" */
+
+#define MAX_FILE_SIZE 4096 /* max chars to read from file for cut */
+
+typedef struct MenuItem
+{
+ struct MenuItem *next; /* next menu item */
+ struct MenuItem *prev; /* prev menu item */
+ struct MenuRoot *sub; /* MenuRoot of a pull right menu */
+ struct MenuRoot *root; /* back pointer to my MenuRoot */
+ char *item; /* the character string displayed */
+ char *action; /* action to be performed */
+
+/* djhjr - 4/22/96
+ Pixel fore; * foreground color *
+ Pixel back; * background color *
+ Pixel hi_fore; * highlight foreground *
+ Pixel hi_back; * highlight background *
+*/
+ ColorPair normal; /* unhiglight colors */
+ ColorPair highlight; /* highlight colors */
+
+ short item_num; /* item number of this menu */
+ short x; /* x coordinate for text */
+ short func; /* twm built in function */
+ short state; /* video state, 0 = normal, 1 = reversed */
+ short strlen; /* strlen(item) */
+ short user_colors; /* colors were specified */
+
+ /* djhjr - 4/22/96 */
+ short separated; /* separated from the next item */
+
+} MenuItem;
+
+typedef struct MenuRoot
+{
+ struct MenuItem *first; /* first item in menu */
+ struct MenuItem *last; /* last item in menu */
+ struct MenuRoot *prev; /* previous root menu if pull right */
+ struct MenuRoot *next; /* next in list of root menus */
+ char *name; /* name of root */
+ Window w; /* the window of the menu */
+ Window shadow; /* the shadow window */
+
+/* djhjr - 4/22/96
+ Pixel hi_fore; * highlight foreground *
+ Pixel hi_back; * highlight background *
+*/
+ ColorPair highlight; /* highlight colors */
+
+ short mapped; /* NEVER_MAPPED, UNMAPPED, or MAPPED */
+ short height; /* height of the menu */
+ short width; /* width of the menu */
+ short items; /* number of items in the menu */
+ short pull; /* is there a pull right entry? */
+ short entered; /* EnterNotify following pop up */
+ short real_menu; /* this is a real menu */
+
+ /* djhjr - 5/22/00 */
+ short too_tall; /* menu taller than display? */
+ short top; /* first item displayed */
+} MenuRoot;
+
+#define NEVER_MAPPED 0 /* constants for mapped field of MenuRoot */
+#define UNMAPPED 1
+#define MAPPED 2
+
+
+typedef struct MouseButton
+{
+ int func; /* the function number */
+ int mask; /* modifier mask */
+ MenuRoot *menu; /* menu if func is F_MENU */
+ MenuItem *item; /* action to perform if func != F_MENU */
+} MouseButton;
+
+typedef struct FuncButton
+{
+ struct FuncButton *next; /* next in the list of function buttons */
+ int num; /* button number */
+ int cont; /* context */
+ int mods; /* modifiers */
+ int func; /* the function number */
+ MenuRoot *menu; /* menu if func is F_MENU */
+ MenuItem *item; /* action to perform if func != F_MENU */
+} FuncButton;
+
+typedef struct FuncKey
+{
+ struct FuncKey *next; /* next in the list of function keys */
+ char *name; /* key name */
+ KeySym keysym; /* X keysym */
+ KeyCode keycode; /* X keycode */
+ int cont; /* context */
+ int mods; /* modifiers */
+ int func; /* function to perform */
+ char *win_name; /* window name (if any) */
+ char *action; /* action string (if any) */
+} FuncKey;
+
+extern int RootFunction;
+extern MenuRoot *ActiveMenu;
+extern MenuItem *ActiveItem;
+extern int MoveFunction;
+extern int WindowMoved;
+extern int ConstMove;
+/* private variables now - djhjr - 10/6/02
+extern int ConstMoveDir;
+extern int ConstMoveX;
+extern int ConstMoveY;
+extern int ConstMoveXL;
+extern int ConstMoveXR;
+extern int ConstMoveYT;
+extern int ConstMoveYB;
+*/
+
+#define MAXMENUDEPTH 10 /* max number of nested menus */
+extern int MenuDepth;
+
+#define MOVE_NONE 0 /* modes of constrained move */
+#define MOVE_VERT 1
+#define MOVE_HORIZ 2
+
+#define WARPSCREEN_NEXT "next"
+#define WARPSCREEN_PREV "prev"
+#define WARPSCREEN_BACK "back"
+
+#define COLORMAP_NEXT "next"
+#define COLORMAP_PREV "prev"
+#define COLORMAP_DEFAULT "default"
+
+extern int InitTitlebarButtons();
+extern void InitMenus();
+extern MenuRoot *NewMenuRoot();
+extern void SetMenuIconPixmap();
+extern MenuItem *AddToMenu();
+extern Bool PopUpMenu();
+extern MenuRoot *FindMenuRoot();
+extern Bool AddFuncKey();
+extern int ExecuteFunction();
+extern int DeferExecution();
+extern void Execute();
+extern void FocusOnRoot();
+extern void SetBorder();
+extern void ReGrab();
+extern void WarpToWindow();
+extern void PaintEntry();
+extern void DeIconify();
+extern void SetMapStateProp();
+extern void Iconify();
+extern void PopDownMenu();
+extern void UpdateMenu();
+extern void SendTakeFocusMessage();
+extern void PaintEntry();
+extern void SetBorder();
+extern int CreateTitleButton();
+extern void MakeMenus();
+extern void PaintMenu();
+
+/* djhjr - 4/27/96 */
+extern void DisplayPosition ();
+
+/* djhjr - 5/30/00 */
+extern void WarpWindowOrScreen();
+extern void WarpInIconMgr();
+
+/* djhjr - 10/27/02 */
+extern void AddWindowToRing();
+extern void RemoveWindowFromRing();
+
+/* djhjr - 6/22/01 */
+extern void DoAudible();
+
+#endif /* _MENUS_ */