diff options
author | Robin Gareus <robin@gareus.org> | 2014-05-27 16:27:20 +0200 |
---|---|---|
committer | Robin Gareus <robin@gareus.org> | 2014-05-27 16:37:01 +0200 |
commit | 99c953514bd13a025066f73e179c160cc5145e1b (patch) | |
tree | 79a4f98c39edc126d1ad11fb5178ccae7acecbaf /libs/canvas/canvas/curve.h | |
parent | cadf07e362684fc74e5541181d451600767e928d (diff) |
implement Curve in/outside fill
Diffstat (limited to 'libs/canvas/canvas/curve.h')
-rw-r--r-- | libs/canvas/canvas/curve.h | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/libs/canvas/canvas/curve.h b/libs/canvas/canvas/curve.h index 1fe21c3307..e6decf8455 100644 --- a/libs/canvas/canvas/curve.h +++ b/libs/canvas/canvas/curve.h @@ -35,6 +35,12 @@ public: CatmullRomUniform, CatmullRomCentripetal, }; + + enum CurveFill { + None, + Inside, + Outside, + }; void compute_bounding_box () const; void render (Rect const & area, Cairo::RefPtr<Cairo::Context>) const; @@ -43,12 +49,14 @@ public: void set_points_per_segment (uint32_t n); bool covers (Duple const &) const; + void set_fill_mode (CurveFill cf) { curve_fill = cf; } private: Points samples; Points::size_type n_samples; uint32_t points_per_segment; SplineType curve_type; + CurveFill curve_fill; void interpolate (); |