-
- Drul_array<Molecule> edge_line;
- s = me->get_grob_property ("edge-height");
- if (gh_pair_p (s))
- {
- Direction d = LEFT;
- int dir = to_dir (me->get_grob_property ("direction"));
- do
- {
- Real dy = gh_scm2double (index_cell (s, d)) * - dir;
- if (dy)
- {
- SCM list = Line_spanner::line_atom (me, 0, dy);
- Box b (Interval (0, thick),
- dy > 0
- ? Interval (0, dy)
- : Interval (dy, 0));
- edge_line[d] = Molecule (b, list);
- }
- }
- while (flip (&d) != LEFT);
- }
-
- Molecule m;
- if (!edge[LEFT].empty_b ())
- m = edge[LEFT];
-
- if (!edge_line[LEFT].empty_b ())
- m.add_at_edge (X_AXIS, RIGHT, edge_line[LEFT], 0);
- if (!line.empty_b ())
- m.add_at_edge (X_AXIS, RIGHT, line, 0);
- if (!edge_line[RIGHT].empty_b ())
- m.add_at_edge (X_AXIS, RIGHT, edge_line[RIGHT], 0);
- if (!edge[RIGHT].empty_b ())
- m.add_at_edge (X_AXIS, RIGHT, edge[RIGHT], 0);
- m.translate_axis (broken_left, X_AXIS);
-