+ else
+ common = parent_l (axis_);
+
+ if (dim.empty_b ())
+ {
+ dim = Interval(0,0);
+ }
+
+
+ Interval sym_dim
+ = to_position_l_
+ ? to_position_l_->extent (axis_)
+ : Interval(0,0);
+
+ Real off = relative_coordinate (common, axis_);
+
+ SCM pad = remove_elt_property ("padding");
+ if (pad != SCM_UNDEFINED)
+ {
+ off += gh_scm2double (pad) * get_direction ();
+ }
+ Real total_off = dim[get_direction ()] + off;
+
+ /*
+ "no-staff-support" is ugh bugfix to get staccato dots right.
+ */
+ if (to_position_l_ && to_position_l_->get_elt_property ("no-staff-support") == SCM_UNDEFINED)
+ total_off += - sym_dim[-get_direction ()];
+
+ dim_cache_[axis_]->set_offset (total_off);
+ if (fabs (total_off) > 100 CM)
+ programming_error ("Huh ? Improbable staff side dim.");
+}
+
+void
+Staff_side_element::do_post_processing ()
+{
+ if (axis_ == Y_AXIS)
+ position_self ();
+}
+
+
+void
+Staff_side_element::do_add_processing ()
+{
+ if (get_elt_property ("no-staff-support") == SCM_UNDEFINED
+ && axis_ == Y_AXIS && staff_symbol_l ())
+ {
+ add_support (staff_symbol_l ());
+ }