- Finger_tuple ft = up[i];
- Grob* f = ft.script_;
- f->set_parent (ft.head_, X_AXIS);
- f->set_grob_property ("script-priority",
- gh_int2scm (finger_prio + i));
- f->add_offset_callback (Side_position_interface::aligned_side_proc, Y_AXIS);
- f->add_offset_callback (Self_alignment_interface::centered_on_parent_proc, X_AXIS);
- f->add_offset_callback (Self_alignment_interface::aligned_on_self_proc, X_AXIS);
-
- f->set_grob_property ("direction", gh_int2scm (UP));
-
- typeset_grob (f);
- }
-
- for (int i = 0; i < down.size(); i++)
- {
- Finger_tuple ft = down[i];
- Grob* f = ft.script_;
- f->set_parent (ft.head_, X_AXIS);
- f->set_grob_property ("script-priority",
- gh_int2scm (finger_prio + down.size() - i));
-
- f->add_offset_callback (Self_alignment_interface::centered_on_parent_proc, X_AXIS);
- f->add_offset_callback (Self_alignment_interface::aligned_on_self_proc, X_AXIS);
- f->add_offset_callback (Side_position_interface::aligned_side_proc, Y_AXIS);
- f->set_grob_property ("direction", gh_int2scm (DOWN));
- typeset_grob (f);
+ for (vsize i = 0; i < vertical[d].size (); i++)
+ {
+ Finger_tuple ft = vertical[d][i];
+ Grob *f = ft.script_;
+ int finger_prio = robust_scm2int (f->get_property ("script-priority"), 200);
+ f->set_parent (ft.head_, X_AXIS);
+ f->set_property ("script-priority",
+ scm_from_int (finger_prio + d * ft.position_));
+
+ Self_alignment_interface::set_align_self (f, X_AXIS);
+ Self_alignment_interface::set_center_parent (f, X_AXIS);
+ Side_position_interface::set_axis (f, Y_AXIS);
+
+ f->set_property ("direction", scm_from_int (d));
+ }