- Grob *staff = Staff_symbol_referencer::get_staff_symbol (me);
- Real inter_f = Staff_symbol_referencer::staff_space (me)/2;
- int line_count = (abs (pos) < interspaces)
- ? 0
- : (abs (pos) - interspaces) / 2;
- Stencil stencil = Stencil();
-
-
- if (line_count)
- {
- Real ledgerlinethickness =
- Staff_symbol::get_ledger_line_thickness (staff);
- Real blotdiameter = ledgerlinethickness;
- Interval y_extent =
- Interval (-0.5*(ledgerlinethickness),
- +0.5*(ledgerlinethickness));
- Stencil proto_ledger_line =
- Lookup::round_filled_box (Box (x_extent, y_extent), blotdiameter);
-
- x_extent[LEFT] += left_shorten;
- Stencil proto_first_line =
- Lookup::round_filled_box (Box (x_extent, y_extent), blotdiameter);
-
- if (!take_space)
- {
- proto_ledger_line.set_empty (true);
- proto_first_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 < line_count; i++)
- {
- Stencil ledger_line ((i == 0)
- ? proto_first_line
- : proto_ledger_line
- );
- ledger_line.translate_axis (-dir * inter_f * i * 2 + offs, Y_AXIS);
- stencil.add_stencil (ledger_line);
- }
- }
-
- return stencil;
-}
-
-Stencil
-internal_print (Grob *me, bool with_ledgers)
-{
- SCM style = me->get_grob_property ("style");
- if (!gh_symbol_p (style))