2 rhythmic-head.cc -- implement Rhythmic_head
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
9 #include "rhythmic-head.hh"
11 #include "molecule.hh"
12 #include "paper-def.hh"
16 #include "axis-group-element.hh"
17 #include "paper-score.hh"
23 Rhythmic_head::dots_i () const
25 return dots_l_ ? dots_l_->dots_i_ : 0;
29 Rhythmic_head::do_post_processing ()
33 dots_l_->position_i_ = position_i ();
38 Rhythmic_head::do_pre_processing ()
40 translate_axis (position_i_ * staff_line_leading_f () /2.0, Y_AXIS);
45 Rhythmic_head::position_i () const
47 return position_i_ + Staff_symbol_referencer::position_i ();
52 Rhythmic_head::add_dots (Dots *dot_l)
55 dot_l->add_dependency (this);
58 Rhythmic_head::Rhythmic_head ()
67 Rhythmic_head::do_substitute_element_pointer (Score_element*o,Score_element*n)
69 Staff_symbol_referencer::do_substitute_element_pointer (o,n);
71 dots_l_ = dynamic_cast<Dots *> (n) ;
72 else if (o == stem_l_)
73 stem_l_ = dynamic_cast<Stem*>(n);
78 Rhythmic_head::do_print () const
81 DOUT << "balltype = "<< balltype_i_ << "dots = " << dots_i ();