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/polygon.e,v 1.6 2011/05/16 16:21:59 william Exp $
19 */
20
21#ifndef _POLYGON_E_
22#define _POLYGON_E_
23
24extern int	polygonDrawn;
25
26#ifdef _INCLUDE_FROM_POLYGON_C_
27#undef extern
28#define extern
29#endif /*_INCLUDE_FROM_POLYGON_C_*/
30
31extern XPoint	* MakePolygonVertex ARGS_DECL((int XOff, int YOff, int NumVs,
32		                               IntPoint *));
33extern void	DumpPoints ARGS_DECL((FILE *, int NumPts, IntPoint *,
34		                      int Indent));
35extern void	DumpPolygonObj ARGS_DECL((FILE *, struct ObjRec *));
36extern int	NeedsToCachePolygonObj ARGS_DECL((struct ObjRec *));
37extern void	DrawPolygonObj ARGS_DECL((Window, int XOff, int YOff,
38		                          struct ObjRec *));
39extern void	CreatePolygonObj ARGS_DECL((int NumPts, int CreateAbsolute));
40extern void	ResetCreatePolygon ARGS_DECL((void));
41extern void	AddPtToCreatePolygon ARGS_DECL((int AbsX, int AbsY));
42extern void	DrawPolygon ARGS_DECL((XEvent *));
43extern void	SelectAndHighLightNewObjects ARGS_DECL((struct ObjRec *));
44extern void	InputPolygonPts ARGS_DECL((void));
45extern void	GetBoundingBox ARGS_DECL((void));
46extern void	SavePolygonObj ARGS_DECL((FILE *, struct ObjRec *));
47extern void	ReadPolygonObj ARGS_DECL((FILE *, char *Inbuf,
48		                          struct ObjRec **));
49extern void	SetPolygonPropMask ARGS_DECL((struct ObjRec *, long *plMask,
50		                              long *plSkip,
51		                              struct PropertiesRec *pProp));
52extern void	FreePolygonObj ARGS_DECL((struct ObjRec *));
53
54#ifdef _INCLUDE_FROM_POLYGON_C_
55#undef extern
56#ifndef _NO_RECURSIVE_EXTERN
57#define extern extern
58#endif /* ~_NO_RECURSIVE_EXTERN */
59#endif /*_INCLUDE_FROM_POLYGON_C_*/
60
61#endif /*_POLYGON_E_*/
62