/*
This file is part of LilyPond, the GNU music typesetter.
- Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl>
+ Copyright (C) 1997--2014 Han-Wen Nienhuys <hanwen@xs4all.nl>
LilyPond is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
annoying layer between (rest)collision & (note-head + stem)
*/
-Interval
-Note_column::accidental_width (Grob *me)
-{
- extract_grob_set (me, "note-heads", nhs);
- vector<Grob *> accs;
- for (vsize i = 0; i < nhs.size (); i++)
- if (Grob *acc = unsmob_grob (nhs[i]->get_object ("accidental-grob")))
- accs.push_back (acc);
-
- Grob *common = common_refpoint_of_array (accs, me, X_AXIS);
- common = common_refpoint_of_array (nhs, common, X_AXIS);
-
- Interval nhs_ex = Axis_group_interface::relative_group_extent (nhs, common, X_AXIS);
- Interval accs_ex = Axis_group_interface::relative_group_extent (accs, common, X_AXIS);
-
- if (nhs_ex.is_empty ())
- return accs_ex;
-
- // want an empty interval here
- if (accs_ex.is_empty ())
- return Interval ();
-
- return Interval (accs_ex[LEFT], nhs_ex[LEFT]);
-}
-
bool
Note_column::has_rests (Grob *me)
{
return 0;
}
-Grob *
-Note_column::arpeggio (Grob *me)
-{
- return unsmob_grob (me->get_object ("arpeggio"));
-}
-
/* If a note-column contains a cross-staff stem then
nc->extent (Y_AXIS, refp) will not consider the extent of the stem.
If you want the extent of the stem to be included (and you are safe
"Stem and noteheads combined.",
/* properties */
- "arpeggio "
"force-hshift "
"horizontal-shift "
"ignore-collision "