X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Frhythmic-head.cc;h=4589fbec6cbe35c6cf5091970d7a8ec10d0568be;hb=635827994d372f4bd0e9c719238380337bae9477;hp=9e354bde2f0e4108e337be94bc8766019620f418;hpb=163503e56aa0c03d41d37fd083bdb96a6a473a11;p=lilypond.git diff --git a/lily/rhythmic-head.cc b/lily/rhythmic-head.cc index 9e354bde2f..4589fbec6c 100644 --- a/lily/rhythmic-head.cc +++ b/lily/rhythmic-head.cc @@ -3,67 +3,61 @@ source file of the GNU LilyPond music typesetter - (c) 1997--1999 Han-Wen Nienhuys + (c) 1997--2001 Han-Wen Nienhuys */ #include "rhythmic-head.hh" #include "debug.hh" -#include "molecule.hh" -#include "paper-def.hh" -#include "lookup.hh" #include "rest.hh" -#include "dots.hh" -#include "axis-group-element.hh" -#include "paper-score.hh" #include "stem.hh" #include "staff-symbol-referencer.hh" +#include "item.hh" -Dots* -Rhythmic_head::dots_l () const +Item* +Rhythmic_head::dots_l (Grob*me) { - SCM s = get_elt_property ("dot"); - return dynamic_cast (unsmob_element (s)); + SCM s = me->get_grob_property ("dot"); + return dynamic_cast (unsmob_grob (s)); } int -Rhythmic_head::balltype_i () const +Rhythmic_head::balltype_i (Grob*me) { - SCM s = get_elt_property ("duration-log"); + SCM s = me->get_grob_property ("duration-log"); return gh_number_p (s) ? gh_scm2int (s) : 0; } -Stem* -Rhythmic_head::stem_l () const +Item* +Rhythmic_head::stem_l (Grob*me) { - SCM s = get_elt_property ("stem"); - return dynamic_cast (unsmob_element (s)); + SCM s = me->get_grob_property ("stem"); + return dynamic_cast (unsmob_grob (s)); } int -Rhythmic_head::dots_i () const +Rhythmic_head::dot_count (Grob*me) { - return dots_l () ? dots_l ()->dots_i_ : 0; + return dots_l (me) + ? gh_scm2int (dots_l (me)->get_grob_property ("dot-count")) : 0; } - + void -Rhythmic_head::do_post_processing () +Rhythmic_head::set_dots (Grob*me,Item *dot_l) { - if (Dots *d = dots_l ()) - { - Staff_symbol_referencer_interface si (d); - Staff_symbol_referencer_interface me (d); - si.set_position(int (me.position_f ())); - } + me->set_grob_property ("dot", dot_l->self_scm ()); } void -Rhythmic_head::add_dots (Dots *dot_l) +Rhythmic_head::set_interface (Grob*me) { - set_elt_property ("dot", dot_l->self_scm_); - dot_l->add_dependency (this); + me->set_interface (ly_symbol2scm ("rhythmic-head-interface")); } - +bool +Rhythmic_head::has_interface (Grob*me) +{ + return me && me->has_interface (ly_symbol2scm ("rhythmic-head-interface")); +}