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/mainloop.e,v 1.8 2011/05/16 16:21:58 william Exp $
19 */
20
21#ifndef _MAINLOOP_E_
22#define _MAINLOOP_E_
23
24extern int	x11R6OrAbove;
25extern int	origArgC;
26extern char	* * origArgV;
27extern int	cmdLineBW;
28extern int	cmdLineRV;
29extern int	cmdLineCWO;
30extern int	cmdLineBtn1Warp;
31extern char	* cmdLineForeground;
32extern char	* cmdLineBackground;
33extern char	* cmdLineBorder;
34extern int	cmdLineMerge;
35extern int	cmdLineMergeArgc;
36extern char	* * cmdLineMergeArgv;
37extern int	geometrySpecified;
38extern int	exitNormally;
39extern char	geometrySpec[];
40extern char	* displayName;
41extern int	initializingMain;
42extern int	cmdLineUseXlib;
43extern int	cmdLineVersion;
44extern int	cmdLineNoModeWindow;
45extern int	cmdLineNoChatWindow;
46
47extern KeyOrBtnEvInfo	lastKeyOrBtnEvInfo;
48
49extern int	numExtraWins;
50extern struct WinInfoRec	* extraWinInfo;
51
52#ifdef _INCLUDE_FROM_MAINLOOP_C_
53#undef extern
54#define extern
55#endif /*_INCLUDE_FROM_MAINLOOP_C_*/
56
57extern int	AddExtraWinInfo ARGS_DECL((Window, int Mapped, int Raise,
58				void (*ExposeHandler)ARGS_DECL((XEvent*,
59						struct WinInfoRec *)),
60				int (*EventHandler)ARGS_DECL((XEvent*,
61						struct WinInfoRec *)),
62				void (*CleanUpRoutine)ARGS_DECL((
63						struct WinInfoRec *)),
64				void *userdata));
65extern void	CleanUpTalkToSelfFiledes ARGS_DECL((void));
66extern int	InitTalkToSelfFiledes ARGS_DECL((void));
67extern void	DeallocStrings ARGS_DECL((char **Func,
68		                char **Str1, char **Menu1,
69		                char **Str2, char **Menu2,
70		                char **Str3, char **Menu3));
71extern void	CleanUp ARGS_DECL((void));
72extern void	ExposeEventHandler ARGS_DECL((XEvent *, int Recursive));
73extern int	GzipFile ARGS_DECL((char *fname, char *gzipped_fname));
74extern char	*GunzipFileIntoTemp ARGS_DECL((char *gzipped_fname));
75extern int	JustInit ARGS_DECL((char *pszFile, int *pnNeedToCheckAutoExec));
76extern void	HandleDataInMBuff ARGS_DECL((void));
77extern int	TryProcessAnXEvent ARGS_DECL((int *pnNeedToCheckAutoExec));
78extern int	TryProcessAnAbortXEvent ARGS_DECL((int esc_to_abort,
79		                                   AbortCallbackFunc*, void*));
80extern void	MainLoop ARGS_DECL((char *Op, char *FileName, char **Func,
81		                    char **Str1, char **Menu1,
82		                    char **Str2, char **Menu2,
83		                    char **Str3, char **Menu3));
84extern void	UrlDump ARGS_DECL((char *FileName));
85extern void	DosEpsFilter ARGS_DECL((char *FileName));
86extern void	Animate ARGS_DECL((char *Type, char *PolyId, char *Speed,
87		                   char *Color, char **ReturnStr));
88extern void	UpdAttrVal ARGS_DECL((char *ObjId, char *AttrName,
89		                      char *AttrColor, char *AttrVal,
90		                      char **ReturnStr));
91
92extern void	SetLastKeyEvInfo ARGS_DECL((XKeyEvent*));
93extern void	SetLastBtnEvInfo ARGS_DECL((XButtonEvent*));
94
95#ifdef _INCLUDE_FROM_MAINLOOP_C_
96#undef extern
97#ifndef _NO_RECURSIVE_EXTERN
98#define extern extern
99#endif /* ~_NO_RECURSIVE_EXTERN */
100#endif /*_INCLUDE_FROM_MAINLOOP_C_*/
101
102#endif /*_MAINLOOP_E_*/
103