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