1 /* GnomeCanvas Bezier polyline paths & segments
2 *
3 * GnomeCanvas is basically a port of the Tk toolkit's most excellent canvas widget. Tk is
4 * copyrighted by the Regents of the University of California, Sun Microsystems, and other parties.
5 *
6 * Copyright (C) 1998,1999 The Free Software Foundation
7 *
8 * Authors: Federico Mena <federico@nuclecu.unam.mx>
9 * Lauris Kaplinski <lauris@ariman.ee>
10 * Raph Levien <raph@acm.org>
11 */
13 #ifndef PATH_UTIL_H
14 #define PATH_UTIL_H
16 struct NArtBpath;
18 struct GnomeCanvasBpathDef {
19 int ref_count;
20 NArtBpath *bpath;
21 int n_bpath;
22 int n_bpath_max;
23 int moveto_idx;
24 };
27 GnomeCanvasBpathDef *gnome_canvas_bpath_def_new (void);
28 GnomeCanvasBpathDef *gnome_canvas_bpath_def_new_from (NArtBpath *bpath);
29 GnomeCanvasBpathDef *gnome_canvas_bpath_def_ref (GnomeCanvasBpathDef *bpd);
31 #define gnome_canvas_bpath_def_unref gnome_canvas_bpath_def_free
32 void gnome_canvas_bpath_def_free (GnomeCanvasBpathDef *bpd);
34 void gnome_canvas_bpath_def_moveto (GnomeCanvasBpathDef *bpd,
35 double x, double y);
36 void gnome_canvas_bpath_def_lineto (GnomeCanvasBpathDef *bpd,
37 double x, double y);
38 void gnome_canvas_bpath_def_curveto (GnomeCanvasBpathDef *bpd,
39 double x1, double y1,
40 double x2, double y2,
41 double x3, double y3);
42 void gnome_canvas_bpath_def_closepath (GnomeCanvasBpathDef *bpd);
44 void gnome_canvas_bpath_def_art_finish (GnomeCanvasBpathDef *bpd);
48 #endif