source file of the GNU LilyPond music typesetter
- (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+ (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef TIE_HH
#define TIE_HH
-#include "bow.hh"
+#include "spanner.hh"
+#include "rod.hh"
/**
Connect two noteheads.
*/
-class Tie : public Bow {
- virtual void do_add_processing();
- virtual void do_post_processing();
- virtual void set_default_dir();
- virtual void do_substitute_dependency(Score_elem*,Score_elem*);
-
+class Tie : public Spanner
+{
public:
- bool same_pitch_b_;
- Note_head * left_head_l_;
- Note_head * right_head_l_;
- void set_head(int, Note_head*head_l);
-
- Tie();
- DECLARE_MY_RUNTIME_TYPEINFO;
- SCORE_ELEM_CLONE(Tie);
+ Tie ();
+ void set_head (Direction, Item*head_l);
+ VIRTUAL_COPY_CONS(Score_element);
+
+ Note_head* head (Direction) const;
+ Real position_f () const;
+
+ virtual Direction get_default_dir() const;
+
+protected:
+ virtual Molecule do_brew_molecule () const;
+ virtual Array<Offset> get_encompass_offset_arr () const;
+ Bezier get_curve () const;
+
+ Drul_array<Real> dy_f_drul_;
+ Drul_array<Real> dx_f_drul_;
+
+ virtual void do_add_processing ();
+ virtual void after_line_breaking ();
+
+ virtual Array<Rod> get_rods () const;
+
+ Array<Offset> get_controls () const;
};
+
#endif // TIE_HH