1/*
2 * Author:      William Chia-Wei Cheng (bill.cheng@acm.org)
3 *
4 * Copyright (C) 2001-2009, William Chia-Wei Cheng.
5 *
6 * This file may be distributed under the terms of the Q Public License
7 * as defined by Trolltech AS of Norway and appearing in the file
8 * LICENSE.QPL included in the packaging of this file.
9 *
10 * THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING
11 * THE WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR
12 * PURPOSE.  IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL,
13 * INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING
14 * FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
15 * NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
16 * WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 *
18 * @(#)$Header: /mm2/home/cvs/bc-src/tgif/mainmenu.e,v 1.6 2011/05/16 16:21:58 william Exp $
19 */
20
21#ifndef _MAINMENU_E_
22#define _MAINMENU_E_
23
24typedef int (ENUMPOPUPMENUFN)ARGS_DECL((int, Window, void*));
25
26extern int	pinnedMainMenu;
27extern int	mainMenuPinDistance;
28extern Window	mainMenuWindow;
29
30extern int	numStacking;
31extern Window	* stackingWins;
32
33extern int	titledPinnedMenu;
34extern int	btn3PopupModeMenu;
35
36#ifdef _INCLUDE_FROM_MAINMENU_C_
37#undef extern
38#define extern
39#endif /*_INCLUDE_FROM_MAINMENU_C_*/
40
41extern void	InitMainMenu ARGS_DECL((void));
42extern void	CleanUpMainMenu ARGS_DECL((void));
43extern void	SaveMainWinPosition ARGS_DECL((unsigned int X, unsigned int Y));
44extern void	MoveMainMenuWindow ARGS_DECL((unsigned int X, unsigned int Y));
45extern void	GetPopupXY ARGS_DECL((Window, int *px, int *py));
46extern void	GetPopupWH ARGS_DECL((Window, int *pw, int *ph));
47extern void	SaveStackingOrder ARGS_DECL((void));
48extern Window	TgRealizePinnedMenuWindow ARGS_DECL((TgMenu*, int X, int Y,
49		                                     int W, int H));
50extern int	TgWindowIsPinnedMenu ARGS_DECL((Window, int Index));
51extern int	TgHandlePinnedMenuEvent ARGS_DECL((Window, int Index, XEvent*));
52extern void	UpdatePinnedMenu ARGS_DECL((int Index));
53extern void	UpdateAllPinnedMenus ARGS_DECL((void));
54extern void	UseWireMenuItemInModeItem ARGS_DECL((int connecting));
55extern void	DestroyPinnedMenu ARGS_DECL((int Index));
56extern void	HidePopupMenusForSlideShow ARGS_DECL((void));
57extern void	ShowPopupMenusForSlideShow ARGS_DECL((void));
58extern void	EnumPopupMenuWindow ARGS_DECL((ENUMPOPUPMENUFN*, void*));
59
60#ifdef _INCLUDE_FROM_MAINMENU_C_
61#undef extern
62#ifndef _NO_RECURSIVE_EXTERN
63#define extern extern
64#endif /* ~_NO_RECURSIVE_EXTERN */
65#endif /*_INCLUDE_FROM_MAINMENU_C_*/
66
67#endif /*_MAINMENU_E_*/
68