source: trunk/third/libart_lgpl/art_vpath.h @ 18256

Revision 18256, 1.9 KB checked in by ghudson, 22 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r18255, which included commits to RCS files with non-trunk default branches.
Line 
1/* Libart_LGPL - library of basic graphic primitives
2 * Copyright (C) 1998 Raph Levien
3 *
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.
8 *
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.
13 *
14 * You should have received a copy of the GNU Library 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.
18 */
19
20#ifndef __ART_VPATH_H__
21#define __ART_VPATH_H__
22
23#ifdef LIBART_COMPILATION
24#include "art_rect.h"
25#include "art_pathcode.h"
26#else
27#include <libart_lgpl/art_rect.h>
28#include <libart_lgpl/art_pathcode.h>
29#endif
30
31/* Basic data structures and constructors for simple vector paths */
32
33#ifdef __cplusplus
34extern "C" {
35#endif /* __cplusplus */
36
37typedef struct _ArtVpath ArtVpath;
38
39/* CURVETO is not allowed! */
40struct _ArtVpath {
41  ArtPathcode code;
42  double x;
43  double y;
44};
45
46/* Some of the functions need to go into their own modules */
47
48void
49art_vpath_add_point (ArtVpath **p_vpath, int *pn_points, int *pn_points_max,
50                     ArtPathcode code, double x, double y);
51
52ArtVpath *
53art_vpath_new_circle (double x, double y, double r);
54
55ArtVpath *
56art_vpath_affine_transform (const ArtVpath *src, const double matrix[6]);
57
58void
59art_vpath_bbox_drect (const ArtVpath *vec, ArtDRect *drect);
60
61void
62art_vpath_bbox_irect (const ArtVpath *vec, ArtIRect *irect);
63
64ArtVpath *
65art_vpath_perturb (ArtVpath *src);
66
67#ifdef __cplusplus
68}
69#endif /* __cplusplus */
70
71#endif /* __ART_VPATH_H__ */
Note: See TracBrowser for help on using the repository browser.