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