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/spline.e,v 1.25 2011/05/16 16:21:59 william Exp $ 19 */ 20 21#ifndef _SPLINE_E_ 22#define _SPLINE_E_ 23 24extern int intSplineTension; 25extern int splineTol; 26extern int tighterStructSplines; 27 28extern double splineFactor3; 29extern double splineFactor4; 30extern double curveToFactor; 31 32#ifdef _INCLUDE_FROM_SPLINE_C_ 33#undef extern 34#define extern 35#endif /*_INCLUDE_FROM_SPLINE_C_*/ 36 37extern int ReadSplineTightness ARGS_DECL((char*)); 38extern void CalcAutoRetractedArrowAttrBend ARGS_DECL((int Style, 39 int X0, int Y0, int X2, int Y2, int *X1, 40 int *Y1)); 41extern IntPoint *GetStructuredSplinePolyTickMarkVs ARGS_DECL((int *pn_N, 42 struct ObjRec *, struct PolyRec *, 43 struct PolygonRec *)); 44extern IntPoint *GetStructuredSplinePolygonTickMarkVs ARGS_DECL((int *pn_N, 45 int NumVs, IntPoint *Vs)); 46extern IntPoint *MakeStructuredSplinePolyVertex ARGS_DECL((int *pn_N, 47 char **ppszSmooth, int NumVs, IntPoint *Vs)); 48extern IntPoint *MakeStructuredSplinePolygonVertex ARGS_DECL((int *pn_N, 49 char **ppszSmooth, int NumVs, IntPoint *Vs)); 50extern XPoint *MakeSplinePolyVertex ARGS_DECL((int Level, int Curved, int *N, 51 int XOff, int YOff, int NumVs, IntPoint *)); 52extern XPoint *MakeMultiSplinePolyVertex ARGS_DECL((int Curved, int *N, 53 char *Smooth, int XOff, int YOff, int NumVs, 54 IntPoint *)); 55extern XPoint *MakeSplinePolygonVertex ARGS_DECL((int Level, int Curved, 56 int *N, int XOff, int YOff, int NumVs, 57 IntPoint *)); 58extern XPoint *MakeMultiSplinePolygonVertex ARGS_DECL((int Curved, int *N, 59 char *Smooth, int XOff, int YOff, int NumVs, 60 IntPoint*)); 61extern XPoint *MakeIntSplinePolyVertex ARGS_DECL((int *N, int *CntrlN, 62 IntPoint **CntrlVs, int XOff, int YOff, 63 int NumVs, IntPoint *)); 64extern XPoint *MakeIntSplinePolygonVertex ARGS_DECL((int *N, int *CntrlN, 65 IntPoint **CntrlVs, int XOff, int YOff, 66 int NumVs, IntPoint*)); 67extern XPoint *MakeDoubleIntSplinePolygonVertex ARGS_DECL((int *N, 68 int *CntrlN, DoublePoint**CntrlVs, int XOff, 69 int YOff, int NumVs, DoublePoint*)); 70extern void DumpCurvedPolyPoints ARGS_DECL((FILE*, int Curved, int NumPts, 71 IntPoint*, int Indent)); 72extern void DumpCurvedPolygonPoints ARGS_DECL((FILE*, int Curved, 73 int NumPts, IntPoint*, int Indent)); 74extern void DumpMultiCurvedPolyPoints ARGS_DECL((FILE*, char *Smooth, 75 int Style, int Curved, int NumPts, IntPoint*, 76 int Indent)); 77extern void DumpMultiCurvedPolygonPoints ARGS_DECL((FILE*, char *Smooth, 78 int Curved, int NumPts, IntPoint*, int Indent)); 79 80#ifdef _INCLUDE_FROM_SPLINE_C_ 81#undef extern 82#ifndef _NO_RECURSIVE_EXTERN 83#define extern extern 84#endif /* ~_NO_RECURSIVE_EXTERN */ 85#endif /*_INCLUDE_FROM_SPLINE_C_*/ 86 87#endif /*_SPLINE_E_*/ 88