summaryrefslogtreecommitdiffstats
path: root/src/live_effects/pathoutlineprovider.h
blob: 27bc62d45c26c10d56a07406deb8fa0d7c18d960 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#ifndef _SEEN_PATH_OUTLINE_H
#define _SEEN_PATH_OUTLINE_H

#include <livarot/Path.h>
#include <livarot/LivarotDefs.h>

enum LineJoinType {
    LINEJOIN_STRAIGHT,
    LINEJOIN_ROUND,
    LINEJOIN_POINTY,
    LINEJOIN_REFLECTED,
    LINEJOIN_EXTRAPOLATED
};

namespace Outline 
{
    unsigned bezierOrder (const Geom::Curve* curve_in);
    std::vector<Geom::Path> PathVectorOutline(std::vector<Geom::Path> const & path_in, double line_width, ButtType linecap_type,
                                              LineJoinType linejoin_type, double miter_limit);

    /*Geom::PathVector outlinePath(const Geom::PathVector& path_in, double line_width, LineJoinType join,
                                 ButtType butt, double miter_lim, bool extrapolate = false);*/
    Geom::Path PathOutsideOutline(Geom::Path const & path_in, double line_width, LineJoinType linejoin_type, double miter_limit);
}

#endif // _SEEN_PATH_OUTLINE_H