Code

Some additional Paint Bucket optimizations and cleanup
[inkscape.git] / src / svg / gnome-canvas-bpath-util.h
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