-
-/*
- TODO: ledger lines are also a property of the staff. Maybe move them
- to there?
- */
-Molecule
-Note_head::brew_ledger_lines (Grob *me,
- int pos,
- int interspaces,
- Interval x_extent,
- bool take_space)
-{
- Real inter_f = Staff_symbol_referencer::staff_space (me)/2;
- int lines_i = abs (pos) < interspaces
- ? 0
- : (abs (pos) - interspaces) / 2;
- Molecule molecule = Molecule();
-
- if (lines_i)
- {
- Real ledgerlinethickness =
- (me->get_paper ()->get_realvar (ly_symbol2scm ("ledgerlinethickness")));
- Real blotdiameter = ledgerlinethickness;
- // (me->get_paper ()->get_realvar (ly_symbol2scm ("blotdiameter")));
- Interval y_extent =
- Interval (-0.5*(ledgerlinethickness),
- +0.5*(ledgerlinethickness));
- Box ledger_line (x_extent, y_extent);
-
- Molecule proto_ledger_line =
- Lookup::roundfilledbox (ledger_line, blotdiameter);
-
- if (!take_space)
- proto_ledger_line.set_empty (true);
-
- Direction dir = (Direction)sign (pos);
- Real offs = (Staff_symbol_referencer::on_staffline (me, pos))
- ? 0.0
- : -dir * inter_f;
- for (int i = 0; i < lines_i; i++)
- {
- Molecule ledger_line (proto_ledger_line);
- ledger_line.translate_axis (-dir * inter_f * i * 2 + offs, Y_AXIS);
- molecule.add_molecule (ledger_line);
- }
- }
-
- return molecule;
-}
-
-Molecule
-internal_brew_molecule (Grob *me, bool ledger_take_space)