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/dup.e,v 1.6 2011/05/16 16:21:57 william Exp $ 19 */ 20 21#ifndef _DUP_E_ 22#define _DUP_E_ 23 24extern int justDupped; 25extern int useRecentDupDistance; 26extern int dupDx; 27extern int dupDy; 28 29#ifdef _INCLUDE_FROM_DUP_C_ 30#undef extern 31#define extern 32#endif /*_INCLUDE_FROM_DUP_C_*/ 33 34extern void CopyObjId ARGS_DECL((struct ObjRec *From, struct ObjRec *To)); 35extern void CopyObjLocks ARGS_DECL((struct ObjRec *From, 36 struct ObjRec *To)); 37extern void UnlockAnObj ARGS_DECL((struct ObjRec *From)); 38extern void DupObjXfrmMtrx ARGS_DECL((struct ObjRec *From, 39 struct ObjRec *To)); 40extern void DupObjBasics ARGS_DECL((struct ObjRec *From, 41 struct ObjRec *To)); 42extern void DupPolyObj ARGS_DECL((struct PolyRec *, struct ObjRec *)); 43extern void DupPolygonObj ARGS_DECL((struct PolygonRec *, struct ObjRec *)); 44extern void DupOvalObj ARGS_DECL((struct OvalRec *, struct ObjRec *)); 45extern void DupBoxObj ARGS_DECL((struct BoxRec *, struct ObjRec *)); 46extern void DupRCBoxObj ARGS_DECL((struct RCBoxRec *, struct ObjRec *)); 47extern void DupArcObj ARGS_DECL((struct ArcRec *, struct ObjRec *)); 48extern void DupXBmObj ARGS_DECL((struct XBmRec *, struct ObjRec *)); 49extern void DupXPmObj ARGS_DECL((struct XPmRec *, struct ObjRec *)); 50extern void DupStrSeg ARGS_DECL((StrBlockInfo*, StrSegInfo*)); 51extern void DupStrBlock ARGS_DECL((StrBlockInfo*, MiniLineInfo*, 52 StrBlockInfo**, StrBlockInfo**)); 53extern void DupMiniLine ARGS_DECL((MiniLineInfo *pMiniLine, 54 MiniLinesInfo *pOwnerMiniLines, 55 StrBlockInfo *pOwnerBlock, 56 MiniLineInfo **ppFirstMiniLine, 57 MiniLineInfo **ppLastMiniLine)); 58extern void DupMiniLines ARGS_DECL((MiniLinesInfo *minilines, 59 StrBlockInfo *pOwnerBlock, 60 MiniLinesInfo **ppMiniLines)); 61extern void DupTextObj ARGS_DECL((struct TextRec *, struct ObjRec *From, 62 struct ObjRec *To)); 63extern void DupConnection ARGS_DECL((struct ConnRec *From, 64 struct ConnRec *To)); 65extern void DupGroupObj ARGS_DECL((struct GroupRec *, struct ObjRec *)); 66extern struct ObjRec * DupObj ARGS_DECL((struct ObjRec *)); 67extern void DupSelObj ARGS_DECL((void)); 68extern void DupTheseObjects ARGS_DECL((struct SelRec *Top, 69 struct SelRec *Bot, 70 struct SelRec **NewTop, 71 struct SelRec **NewBot)); 72extern void JustDupSelObj ARGS_DECL((struct SelRec **NewTop, 73 struct SelRec **NewBot)); 74 75#ifdef _INCLUDE_FROM_DUP_C_ 76#undef extern 77#ifndef _NO_RECURSIVE_EXTERN 78#define extern extern 79#endif /* ~_NO_RECURSIVE_EXTERN */ 80#endif /*_INCLUDE_FROM_DUP_C_*/ 81 82#endif /*_DUP_E_*/ 83