1 /* This file is part of the GNU libxmi package. Copyright (C) 1998, 1999, 2 2000, 2005, Free Software Foundation, Inc. 3 4 The GNU libxmi package is free software. You may redistribute it 5 and/or modify it under the terms of the GNU General Public License as 6 published by the Free Software foundation; either version 2, or (at your 7 option) any later version. 8 9 The GNU libxmi package is distributed in the hope that it will be 10 useful, but WITHOUT ANY WARRANTY; without even the implied warranty of 11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12 General Public License for more details. 13 14 You should have received a copy of the GNU General Public License along 15 with the GNU plotutils package; see the file COPYING. If not, write to 16 the Free Software Foundation, Inc., 51 Franklin St., Fifth Floor, 17 Boston, MA 02110-1301, USA. */ 18 19 /* Internal counterparts of libxmi's core functions, each of which 20 takes a (miPaintedSet *) as first argument. */ 21 22 extern void miDrawPoints_internal (miPaintedSet *paintedSet, const miGC *pGC, miCoordMode mode, int npts, const miPoint *pPts); 23 extern void miDrawLines_internal (miPaintedSet *paintedSet, const miGC *pGC, miCoordMode mode, int npts, const miPoint *pPts); 24 extern void miFillPolygon_internal (miPaintedSet *paintedSet, const miGC *pGC, miPolygonShape shape, miCoordMode mode, int npts, const miPoint *pPts); 25 extern void miDrawRectangles_internal (miPaintedSet *paintedSet, const miGC *pGC, int nrects, const miRectangle *pRects); 26 extern void miFillRectangles_internal (miPaintedSet *paintedSet, const miGC *pGC, int nrects, const miRectangle *pRects); 27 extern void miDrawArcs_internal (miPaintedSet *paintedSet, const miGC *pGC, int narcs, const miArc *parcs); 28 extern void miFillArcs_internal (miPaintedSet *paintedSet, const miGC *pGC, int narcs, const miArc *parcs); 29 extern void miDrawArcs_r_internal (miPaintedSet *paintedSet, const miGC *pGC, int narcs, const miArc *parcs, miEllipseCache *ellipse_cache); 30 31 /* Internal functions, which are called by wrapper functions defined in 32 mi_api.c. */ 33 34 extern void miWideDash (miPaintedSet *paintedSet, const miGC *pGC, miCoordMode mode, int npts, const miPoint *pPts); 35 extern void miZeroDash (miPaintedSet *paintedSet, const miGC *pGC, miCoordMode mode, int npts, const miPoint *pPts); 36 extern void miWideLine (miPaintedSet *paintedSet, const miGC *pGC, miCoordMode mode, int npts, const miPoint *pPts); 37 extern void miZeroLine (miPaintedSet *paintedSet, const miGC *pGC, miCoordMode mode, int npts, const miPoint *pPts); 38 39 extern void miPolyArc (miPaintedSet *paintedSet, const miGC *pGC, int narcs, const miArc *parcs); 40 extern void miZeroPolyArc (miPaintedSet *paintedSet, const miGC *pGC, int narcs, const miArc *parcs); 41 42 extern void miPolyArc_r (miPaintedSet *paintedSet, const miGC *pGC, int narcs, const miArc *parcs, miEllipseCache *ellipse_cache); 43 extern void miZeroPolyArc_r (miPaintedSet *paintedSet, const miGC *pGC, int narcs, const miArc *parcs, miEllipseCache *ellipse_cache); 44 45 /* Declarations of other internal functions, which should really be moved 46 elsewhere. */ 47 48 /* wrappers for storage allocation functions, see mi_alloc.c */ 49 extern void * mi_xmalloc (size_t size); 50 extern void * mi_xcalloc (size_t nmemb, size_t size); 51 extern void * mi_xrealloc (void * p, size_t size); 52 53 /* other misc. internal functions */ 54 extern void miFillConvexPoly (miPaintedSet *paintedSet, const miGC *pGC, int count, const miPoint *ptsIn); 55 extern void miFillGeneralPoly (miPaintedSet *paintedSet, const miGC *pGC, int count, const miPoint *ptsIn); 56 extern void miStepDash (int dist, int *pDashNum, int *pDashIndex, const unsigned int *pDash, int numInDashList, int *pDashOffset); 57