#include "g-staff-side.hh"
#include "staff-symbol.hh"
#include "debug.hh"
+#include "warn.hh"
+#include "dimensions.hh"
G_staff_side_item::G_staff_side_item ()
{
void
G_staff_side_item::position_self ()
{
+ if (to_position_l_ &&
+ to_position_l_->get_elt_property (transparent_scm_sym) != SCM_BOOL_F)
+ return;
Interval dim;
Dimension_cache *common = 0;
}
}
else
+ common = dim_cache_[axis_].parent_l_;
+
+ if (dim.empty_b ())
{
dim = Interval(0,0);
- common = dim_cache_[axis_].parent_l_;
}
{
off += gh_scm2double (SCM_CDR(pad)) * dir_;
}
- dim_cache_[axis_].set_offset (dim[dir_] - sym_dim[-dir_] + off);
+ Real total_off = dim[dir_] - sym_dim[-dir_] + off;
+ dim_cache_[axis_].set_offset (total_off);
+ if (fabs (total_off) > 100 CM)
+ programming_error ("Huh ? Improbable staff side dim.");
}
void