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/obj.e,v 1.6 2011/05/16 16:21:58 william Exp $
19 */
20
21#ifndef _OBJ_E_
22#define _OBJ_E_
23
24extern struct ObjRec	* topObj, * botObj;
25
26#ifdef _INCLUDE_FROM_OBJ_C_
27#undef extern
28#define extern
29#endif /*_INCLUDE_FROM_OBJ_C_*/
30
31extern void	AddObj ARGS_DECL((struct ObjRec *Prev, struct ObjRec *Next,
32		                  struct ObjRec *));
33extern void	UnlinkObj ARGS_DECL((struct ObjRec *));
34extern void	ReplaceObj ARGS_DECL((struct ObjRec *old_obj,
35		                      struct ObjRec *new_obj));
36extern void	FreeObj ARGS_DECL((struct ObjRec *));
37extern void	DelObj ARGS_DECL((struct ObjRec *));
38extern void	DelAllObj ARGS_DECL((void));
39extern void	AdjObjOBBox ARGS_DECL((struct ObjRec *));
40extern void	AdjObjBBox ARGS_DECL((struct ObjRec *));
41extern void	RecursivelyAdjObjBBox ARGS_DECL((struct ObjRec *sub_obj,
42		                                 struct ObjRec *owner_obj,
43		                                 struct ObjRec *top_owner));
44extern void	AdjObjCache ARGS_DECL((struct ObjRec *));
45extern void	AdjCaches ARGS_DECL((void));
46extern void	AdjObjSplineVs ARGS_DECL((struct ObjRec *));
47extern void	AdjSplineVs ARGS_DECL((void));
48extern void	ClearObjCachesInAllPages ARGS_DECL((void));
49extern void	MoveRotatedObjCache ARGS_DECL((struct ObjRec *, int, int));
50extern void	AdjObjHotSpot ARGS_DECL((void));
51extern void	AdjHotSpots ARGS_DECL((void));
52extern int	IsTopLevelObject ARGS_DECL((struct ObjRec *));
53
54extern struct ObjRec	*GetTopOwner ARGS_DECL((struct ObjRec *));
55
56#ifdef _INCLUDE_FROM_OBJ_C_
57#undef extern
58#ifndef _NO_RECURSIVE_EXTERN
59#define extern extern
60#endif /* ~_NO_RECURSIVE_EXTERN */
61#endif /*_INCLUDE_FROM_OBJ_C_*/
62
63#endif /*_OBJ_E_*/
64