- Paper_line *pl = new Paper_line (Offset (x.length (), y.length ()),
- stencils, (bool) penalty); // FIXME.
-
+ Stencil sys_stencil (Box (x, y),
+ scm_cons (ly_symbol2scm ("combine-stencil"),
+ exprs));
+
+ Interval staff_refpoints;
+ staff_refpoints.set_empty();
+ for (SCM s = get_property ("spaceable-staves");
+ scm_is_pair (s); s = scm_cdr (s))
+ {
+ Grob *g = unsmob_grob (scm_car (s));
+ staff_refpoints.add_point (g->relative_coordinate (this, Y_AXIS));
+ }
+
+
+ Paper_system *pl = new Paper_system (sys_stencil, false);
+ pl->staff_refpoints_ = staff_refpoints;
+ Item * break_point = this->get_bound(LEFT);
+ pl->break_before_penalty_ =
+ robust_scm2double (break_point->get_property ("page-penalty"), 0.0);
+