Revised over good by Han-Wen.
*/
-#include "stencil.hh"
#include "text-item.hh"
#include "text-spanner.hh"
#include "line-spanner.hh"
Spanner *spanner = dynamic_cast<Spanner*> (me);
Grob *common = spanner->get_bound (LEFT)->common_refpoint (spanner->get_bound (RIGHT), X_AXIS);
- Output_def * paper = me->get_paper ();
+ Output_def * layout = me->get_layout ();
Interval span_points;
Drul_array<bool> broken;
pad = robust_scm2double (me->get_property ("bound-padding"), 0.0);
encl = -d;
}
-
- span_points[d] = -d * pad + b->extent (common, X_AXIS).linear_combination (encl);
+
+ Interval ext = b->extent (common, X_AXIS);
+ span_points[d] = -d * pad
+ + robust_relative_extent (b,common, X_AXIS)
+ .linear_combination (encl);
}
}
while (flip (&d) != LEFT);
SCM properties = Font_interface::text_font_alist_chain (me);
SCM edge_text = me->get_property ("edge-text");
Drul_array<Stencil> edge;
- if (ly_c_pair_p (edge_text))
+ if (scm_is_pair (edge_text))
{
Direction d = LEFT;
do
SCM text = index_get_cell (edge_text, d);
- if (Text_item::markup_p (text))
- edge[d] = *unsmob_stencil (Text_item::interpret_markup (paper->self_scm (), properties, text));
+ if (Text_interface::markup_p (text))
+ edge[d] = *unsmob_stencil (Text_interface::interpret_markup (layout->self_scm (), properties, text));
if (!edge[d].is_empty ())
edge[d].align_to (Y_AXIS, CENTER);
ADD_INTERFACE (Dynamic_text_spanner,
"dynamic-text-spanner-interface",
"A text spanner for crescendo texts",
- "dash-period dash-fraction edge-text style thickness");
+ "bound-padding dash-period dash-fraction edge-text style thickness");