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/drawing.e,v 1.11 2011/05/16 16:21:57 william Exp $
19 */
20
21#ifndef _DRAWING_E_
22#define _DRAWING_E_
23
24extern int	disableRedraw;
25extern int	intrCheckInterval;
26extern int	pasteInDrawTextMode;
27extern int	pasteFromFileInDrawTextMode;
28extern int	pasteCompoundTextInDrawTextMode;
29extern char	pasteFromFileName[];
30extern int	copyInDrawTextMode;
31extern int	copyDoubleByteStringInDrawTextMode;
32extern int	numRedrawBBox;
33extern int	numClipRecs;
34extern int	clipOrdering;
35extern XRectangle	clipRecs[];
36extern int	checkBBox;
37
38extern int	btn1Warp;
39
40extern int	userDisableRedraw;
41extern int	executingCommands;
42extern int	escPressedWhileExecutingCommands;
43extern int	gnDisableShortcuts; /* used by ExecCmdsFromFile() */
44extern int	enableMouseWheel;
45extern int	btn2PopupMainMenu;
46
47#ifdef _INCLUDE_FROM_DRAWING_C_
48#undef extern
49#define extern
50#endif /*_INCLUDE_FROM_DRAWING_C_*/
51
52extern void	SetXorDrawGC ARGS_DECL((int xor_pixel));
53extern void	SetDefaultDrawWinClipRecs ARGS_DECL((void));
54extern void	SetDefaultIconWinClipRecs ARGS_DECL((void));
55extern void	ShowInterrupt ARGS_DECL((int));
56extern int	HideInterrupt ARGS_DECL((void));
57extern void	RedrawDummyWindow1 ARGS_DECL((void));
58extern void	RedrawDummyWindow2 ARGS_DECL((void));
59extern void	DummiesEventHandler ARGS_DECL((XEvent*));
60extern int	KeyPressEventIsEscape ARGS_DECL((XKeyEvent*));
61extern int	ESCPressed ARGS_DECL((void));
62extern int	CheckInterrupt ARGS_DECL((int check_esc));
63extern void	DrawClippedPixmap ARGS_DECL((Pixmap, Window, GC, int PixmapW,
64		                             int PixmapH, int LtX, int LtY));
65extern void	FillClippedRectangle ARGS_DECL((Window, GC, int LtX, int LtY,
66		                                int OrigW, int OrigH));
67extern int	ObjInVisibleLayer ARGS_DECL((struct ObjRec *));
68extern int	DrawObj ARGS_DECL((Window, struct ObjRec *));
69extern void	DrawPaperBoundary ARGS_DECL((Window));
70extern void	RedrawAnArea ARGS_DECL((struct ObjRec *BotObj, int LtX,
71		                        int LtY, int RbX, int RbY));
72extern void	RedrawAreas ARGS_DECL((struct ObjRec *BotObj, int LtX1,
73		                        int LtY1, int RbX1, int RbY1,
74		                        int LtX2, int LtY2, int RbX2,
75		                        int RbY2));
76extern int	RedrawDuringScrolling ARGS_DECL((void));
77extern void	RedrawAreaFromCache ARGS_DECL((double start_frac,
78		                               int scroll_all_the_way));
79extern void	RedrawDrawWindow ARGS_DECL((struct ObjRec *BotObj));
80extern Pixmap	DrawAllOnPixmap ARGS_DECL((int *LtX, int *LtY, int *W, int *H,
81		                           int nRedraw));
82extern void	ClearAndRedrawDrawWindow ARGS_DECL((void));
83extern void	ClearAndRedrawDrawWindowNoCurT ARGS_DECL((void));
84                /* use to be ClearAndRedrawDrawWindowDontDrawCurText */
85extern int	BeginExecAnimate ARGS_DECL((void));
86extern void	EndExecAnimate ARGS_DECL((void));
87extern void	CleanUpDrawingWindow ARGS_DECL((void));
88extern int	ShortHand ARGS_DECL((XEvent *));
89extern int	ExecuteCmdById ARGS_DECL((int nCmdId, int nIndex));
90extern int	CallShortCut ARGS_DECL((char *Name, int argc, char *argv[],
91		                        char *Code, unsigned int State));
92extern int	SomethingDirty ARGS_DECL((void));
93extern void	EditIndexedAttrInEditor ARGS_DECL((int index));
94extern void	EditIndexedAttrGroupInEditor ARGS_DECL((int index));
95extern TgMenu	*CreateEditAttrInEditorMenu ARGS_DECL((TgMenu*, int X, int Y,
96		                                       TgMenuInfo*,
97		                                       int status_str_xlated));
98extern TgMenu	*CreateEditAttrGroupInEditorMenu ARGS_DECL((TgMenu*, int X,
99				int Y, TgMenuInfo*, int status_str_xlated));
100extern void	GetProperty ARGS_DECL((int index));
101extern TgMenu	*CreateGetPropertyMenu ARGS_DECL((TgMenu*, int X, int Y,
102		                                  TgMenuInfo*,
103		                                  int status_str_xlated));
104extern void	PeekDimension ARGS_DECL((int index));
105extern TgMenu	*CreatePeekDimensionMenu ARGS_DECL((TgMenu*, int X, int Y,
106		                                    TgMenuInfo*,
107		                                    int status_str_xlated));
108extern int	RefreshContextMenu ARGS_DECL((TgMenu*));
109extern TgMenu	*CreateContextMenu ARGS_DECL((TgMenu*, int X, int Y,
110		                              TgMenuInfo*,
111		                              int status_str_xlated));
112extern int	RefreshEditTextContextMenu ARGS_DECL((TgMenu*));
113extern TgMenu	*CreateEditTextContextMenu ARGS_DECL((TgMenu*, int X, int Y,
114		                                      TgMenuInfo*,
115		                                      int status_str_xlated));
116extern int	ContextMenu ARGS_DECL((int X, int Y, int TrackMenubar));
117extern void	HandleMotionForPortInDrawWindow ARGS_DECL((int mouse_x,
118		                                           int mouse_y));
119extern int	HandlePressForPortInDrawWindow ARGS_DECL((int cancel));
120extern int	DrawingEventHandler ARGS_DECL((XEvent *));
121
122#ifdef _INCLUDE_FROM_DRAWING_C_
123#undef extern
124#ifndef _NO_RECURSIVE_EXTERN
125#define extern extern
126#endif /* ~_NO_RECURSIVE_EXTERN */
127#endif /*_INCLUDE_FROM_DRAWING_C_*/
128
129#endif /*_DRAWING_E_*/
130