X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Fdot-column.cc;h=46b963e6d040e46a4211f1beb9f3722ee1cdf7a1;hb=e02ff353e9bbf2ac0924450770ac75eb88960aac;hp=a91ffc5f8f5285eb6bcd04207097cbdecde0903b;hpb=d9b43b93f2c885409bafdb157138158f65cc49aa;p=lilypond.git diff --git a/lily/dot-column.cc b/lily/dot-column.cc index a91ffc5f8f..46b963e6d0 100644 --- a/lily/dot-column.cc +++ b/lily/dot-column.cc @@ -16,6 +16,10 @@ #include "axis-group-interface.hh" #include "stem.hh" +/* + TODO: let Dot_column communicate with stem via Note_column. + */ + MAKE_SCHEME_CALLBACK (Dot_column,force_shift_callback,2); SCM Dot_column::force_shift_callback (SCM element_smob, SCM axis) @@ -40,7 +44,9 @@ Dot_column::side_position (SCM element_smob, SCM axis) Grob * stem = unsmob_grob (me->get_grob_property ("stem")); if (stem && !Stem::beam_l (stem) - && Stem::flag_i (stem)) + && Stem::duration_log (stem) > 2 + && !Stem::invisible_b (stem) + ) { /* trigger stem end & direction calculation. @@ -120,11 +126,6 @@ Dot_column::do_shifts (SCM l) return SCM_UNSPECIFIED; } -bool -Dot_column::has_interface (Grob*m) -{ - return m && m->has_interface (ly_symbol2scm ("dot-column-interface")); -} void @@ -141,3 +142,10 @@ Dot_column::add_head (Grob * me, Grob *rh) } } + + + +ADD_INTERFACE (Dot_column, "dot-column-interface", + "Interface that groups dots so they form a column", + "direction stem"); +