1 /* $Id$ $Revision$ */
2 /* vim:set shiftwidth=4 ts=8: */
3 
4 /*************************************************************************
5  * Copyright (c) 2011 AT&T Intellectual Property
6  * All rights reserved. This program and the accompanying materials
7  * are made available under the terms of the Eclipse Public License v1.0
8  * which accompanies this distribution, and is available at
9  * http://www.eclipse.org/legal/epl-v10.html
10  *
11  * Contributors: See CVS logs. Details at http://www.graphviz.org/
12  *************************************************************************/
13 
14 
15 #ifndef _PATHGEOM_INCLUDE
16 #define _PATHGEOM_INCLUDE
17 
18 #ifdef __cplusplus
19 extern "C" {
20 #endif
21 
22 #ifdef HAVE_POINTF_S
23     typedef struct pointf_s Ppoint_t;
24     typedef struct pointf_s Pvector_t;
25 #else
26     typedef struct Pxy_t {
27 	double x, y;
28     } Pxy_t;
29 
30     typedef struct Pxy_t Ppoint_t;
31     typedef struct Pxy_t Pvector_t;
32 #endif
33 
34     typedef struct Ppoly_t {
35 	Ppoint_t *ps;
36 	int pn;
37     } Ppoly_t;
38 
39     typedef Ppoly_t Ppolyline_t;
40 
41     typedef struct Pedge_t {
42 	Ppoint_t a, b;
43     } Pedge_t;
44 
45 /* opaque state handle for visibility graph operations */
46     typedef struct vconfig_s vconfig_t;
47 
48     void freePath(Ppolyline_t* p);
49 #ifdef __cplusplus
50 }
51 #endif
52 #endif
53