Code

moving trunk for module inkscape
[inkscape.git] / src / splivarot.h
1 #ifndef __SP_LIVAROT_H__
2 #define __SP_LIVAROT_H__
4 /*
5  * boolops and outlines
6  *
7  * public domain
8  */
10 #include "livarot/Path.h"
12 // boolean operations
13 // work on the current selection
14 // selection has 2 contain exactly 2 items
15 void sp_selected_path_union ();
16 void sp_selected_path_intersect ();
17 void sp_selected_path_diff ();
18 void sp_selected_path_symdiff ();
19 void sp_selected_path_cut ();
20 void sp_selected_path_slice ();
22 // offset/inset of a curve
23 // takes the fill-rule in consideration
24 // offset amount is the stroke-width of the curve
25 void sp_selected_path_offset ();
26 void sp_selected_path_offset_screen (double pixels);
27 void sp_selected_path_inset ();
28 void sp_selected_path_inset_screen (double pixels);
29 void sp_selected_path_create_offset ();
30 void sp_selected_path_create_inset ();
31 void sp_selected_path_create_updating_offset ();
32 void sp_selected_path_create_updating_inset ();
34 void sp_selected_path_create_offset_object_zero ();
35 void sp_selected_path_create_updating_offset_object_zero ();
37 // outline of a curve
38 // uses the stroke-width
39 void sp_selected_path_outline ();
41 // simplifies a path (removes small segments and the like)
42 void sp_selected_path_simplify ();
44 NR::Maybe<Path::cut_position> get_nearest_position_on_Path(SPItem *item, NR::Point p);
45 NR::Point get_point_on_Path(SPItem *item, int piece, double t);
47 #endif
49 /*
50   Local Variables:
51   mode:c++
52   c-file-style:"stroustrup"
53   c-file-offsets:((innamespace . 0)(inline-open . 0)(case-label . +))
54   indent-tabs-mode:nil
55   fill-column:99
56   End:
57 */
58 // vim: filetype=cpp:expandtab:shiftwidth=4:tabstop=8:softtabstop=4:encoding=utf-8:textwidth=99 :