Implemented stlye slots on AdgArrowStyle
[adg.git] / cpml / cpml-path.h
blob709e663538c0958377d0bedde08ade218bd432cc
1 /* CPML - Cairo Path Manipulation Library
2 * Copyright (C) 2008, Nicola Fontana <ntd at entidi.it>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Library General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Library General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17 * Boston, MA 02111-1307, USA.
20 #ifndef __CPML_PATH_H__
21 #define __CPML_PATH_H__
23 #include <cpml/cpml-pair.h>
25 #define CPML_LAST 0
26 #define CPML_FIRST 1
29 CAIRO_BEGIN_DECLS
32 typedef struct _CpmlPath CpmlPath;
34 struct _CpmlPath {
35 cairo_path_t cairo_path;
36 CpmlPair org;
40 cairo_bool_t
41 cpml_path_from_cairo (CpmlPath *path,
42 const cairo_path_t *src,
43 cairo_t *cr);
44 cairo_bool_t
45 cpml_path_from_cairo_explicit (CpmlPath *path,
46 const cairo_path_t *src,
47 const CpmlPair *org);
48 CpmlPath *
49 cpml_path_copy (CpmlPath *path,
50 const CpmlPath *src);
52 cairo_bool_t
53 cpml_segment_from_path (CpmlPath *segment,
54 const CpmlPath *path,
55 int index);
57 cairo_bool_t
58 cpml_primitive_from_path (CpmlPath *primitive,
59 const CpmlPath *path,
60 int index);
61 cairo_bool_t
62 cpml_primitive_get_pair (const CpmlPath *primitive,
63 CpmlPair *pair,
64 int index);
65 cairo_bool_t
66 cpml_primitive_set_pair (CpmlPath *primitive,
67 const CpmlPair *pair,
68 int index);
69 cairo_bool_t
70 cpml_primitive_get_point (const CpmlPath *primitive,
71 CpmlPair *point,
72 double pos);
73 cairo_bool_t
74 cpml_primitive_reverse (CpmlPath *primitive);
77 CAIRO_END_DECLS
80 #endif /* __CPML_PATH_H__ */