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/pattern.e,v 1.7 2011/05/16 16:21:58 william Exp $
19 */
20
21#ifndef _PATTERN_E_
22#define _PATTERN_E_
23
24extern int	objFill;
25extern int	transPat;
26extern int	lineStyle;
27extern int	lineWidth;
28extern int	penPat;
29extern int	curSpline;
30extern int	curDash;
31extern int	rcbRadius;
32extern int	useGray;
33extern char	patternStr[];
34
35extern int	stickyMenuSelection;
36
37#ifdef _INCLUDE_FROM_PATTERN_C_
38#undef extern
39#define extern
40#endif /*_INCLUDE_FROM_PATTERN_C_*/
41
42extern void	ResetGrayDetection ARGS_DECL((void));
43extern char	* GrayStr ARGS_DECL((int Index));
44extern void	GrayCheck ARGS_DECL((int Index));
45extern void	EndGrayDetection ARGS_DECL((void));
46
47extern int	RefreshModeMenu ARGS_DECL((TgMenu*));
48extern TgMenu	*CreateModeMenu ARGS_DECL((TgMenu*, int X, int Y, TgMenuInfo*,
49		                           int status_str_xlated));
50extern int	ModeMenu ARGS_DECL((int X, int Y, int TrackMenubar));
51
52extern int	ChangeObjTransPat ARGS_DECL((struct ObjRec *, int FillIndex));
53extern void	ChangeAllSelTransPat ARGS_DECL((int Index, int HighLight));
54
55extern int	ChangeObjFill ARGS_DECL((struct ObjRec *, int FillIndex));
56extern void	ChangeAllSelFill ARGS_DECL((int Index, int HighLight));
57extern void	RefreshFillMenu ARGS_DECL((TgMenu*));
58extern TgMenu	*CreateFillMenu ARGS_DECL((TgMenu*, int X, int Y, TgMenuInfo*,
59		                           int status_str_xlated));
60extern int	FillMenu ARGS_DECL((int X, int Y, int TrackMenubar));
61
62extern void	ChangeAllSelLineStyle ARGS_DECL((int Index, int HighLight));
63extern void	RefreshLineStyleMenu ARGS_DECL((TgMenu*));
64extern TgMenu	*CreateLineStyleMenu ARGS_DECL((TgMenu*, int X, int Y,
65		                                TgMenuInfo*,
66		                                int status_str_xlated));
67extern int	LineStyleMenu ARGS_DECL((int X, int Y, int TrackMenubar));
68
69extern int	GetPolyOrPolygonControlPoints ARGS_DECL((struct ObjRec *,
70				struct PolyRec **, struct PolygonRec **,
71				int *pn_curved, int *pn_num_pts, IntPoint**,
72				char **ppsz_smooth));
73extern void	ChangeAllSelLineType ARGS_DECL((int Index, int HighLight));
74extern void	RefreshLineTypeMenu ARGS_DECL((TgMenu*));
75extern TgMenu	*CreateLineTypeMenu ARGS_DECL((TgMenu*, int X, int Y,
76		                               TgMenuInfo*,
77		                               int status_str_xlated));
78extern int	LineTypeMenu ARGS_DECL((int X, int Y, int TrackMenubar));
79
80extern void	ChangeAllSelLineWidth ARGS_DECL((int Index, int HighLight));
81extern int	GetBestLineWidthIndex ARGS_DECL((int width, int aw, int ah));
82extern void	RefreshLineWidthMenu ARGS_DECL((TgMenu*));
83extern TgMenu	*CreateLineWidthMenu ARGS_DECL((TgMenu*, int X, int Y,
84		                                TgMenuInfo*,
85		                                int status_str_xlated));
86extern int	LineWidthMenu ARGS_DECL((int X, int Y, int TrackMenubar));
87
88extern void	ChangeAllSelLineDash ARGS_DECL((int Index, int HighLight));
89extern void	RefreshLineDashMenu ARGS_DECL((TgMenu*));
90extern TgMenu	*CreateLineDashMenu ARGS_DECL((TgMenu*, int X, int Y,
91		                                TgMenuInfo*,
92		                                int status_str_xlated));
93extern int	LineDashMenu ARGS_DECL((int X, int Y, int TrackMenubar));
94
95extern int	ChangeObjPen ARGS_DECL((struct ObjRec *, int PenIndex));
96extern void	ChangeAllSelPen ARGS_DECL((int Index, int HighLight));
97extern void	RefreshPenMenu ARGS_DECL((TgMenu*));
98extern TgMenu	*CreatePenMenu ARGS_DECL((TgMenu*, int X, int Y, TgMenuInfo*,
99		                          int status_str_xlated));
100extern int	PenMenu ARGS_DECL((int X, int Y, int TrackMenubar));
101
102extern void	ToggleAllSelLineType ARGS_DECL((void));
103extern void	ChangeAllSelRCBRadius ARGS_DECL((int Radius));
104extern void	UpdateSelObjs ARGS_DECL((void));
105extern void	ChangeAllSelRealLineWidth ARGS_DECL((int nMask,
106		                                     int Width, int AW, int AH,
107		                                     char*, char*, char*,
108		                                     int HighLight));
109extern void	SetSelLineWidth ARGS_DECL((char*));
110
111#ifdef _INCLUDE_FROM_PATTERN_C_
112#undef extern
113#ifndef _NO_RECURSIVE_EXTERN
114#define extern extern
115#endif /* ~_NO_RECURSIVE_EXTERN */
116#endif /*_INCLUDE_FROM_PATTERN_C_*/
117
118#endif /*_PATTERN_E_*/
119