+void
+Tie::set_control_points (Grob *me,
+ Grob *common,
+ Tie_configuration const &conf,
+ Tie_details const &details
+ )
+{
+ Bezier b = conf.get_bezier (details);
+ b.scale (1, conf.dir_);
+ b.translate (Offset (conf.attachment_x_[LEFT]
+ - me->relative_coordinate (common, X_AXIS),
+ 0.5 * conf.position_ * details.staff_space_
+ + conf.delta_y_
+ ));
+
+ SCM controls = SCM_EOL;
+ for (int i = 4; i--;)
+ {
+ if (!b.control_[i].is_sane ())
+ programming_error ("Insane offset");
+ controls = scm_cons (ly_offset2scm (b.control_[i]), controls);
+ }
+ me->set_property ("control-points", controls);
+}