lilypond-1.3.100
[lilypond.git] / lily / include / slur-bezier-bow.hh
blobc84e6723f2a3abc030ed14fdf2ada13db0345e1a
1 /*
2 slur-bezier-bow.hh -- declare Slur_bezier_bow
4 source file of the GNU LilyPond music typesetter
6 (c) 2000 Jan Nieuwenhuizen <janneke@gnu.org>
7 */
9 #ifndef SLUR_BEZIER_BOW_HH
10 #define SLUR_BEZIER_BOW_HH
12 #include "bezier-bow.hh"
14 class Slur_bezier_bow
17 protected:
18 Array<Offset> encompass_;
20 private:
21 void to_canonical_form ();
22 Direction dir_;
23 Real alpha_;
24 Offset origin_;
25 Real h_inf_, r_0_;
26 public:
27 /**
28 The canonical bezier.
30 Bezier curve_;
33 Slur_bezier_bow (Array<Offset> encompass, Direction dir,
34 Real hinf, Real r0);
35 Bezier get_bezier () const;
37 void minimise_enclosed_area (Real beauty, SCM props);
38 Real fit_factor () const;
39 void blow_fit ();
40 Real enclosed_area_f () const;
41 private:
42 Array<Real> area_x_gradients_array (Real area);
45 #endif /* SLUR_BEZIER_BOW_HH */