/*
- crescendo-text-spanner.cc -- implement Text_spanner
+ dynamic-text-spanner.cc -- implement Text_spanner
source file of the GNU LilyPond music typesetter
- (c) 2000--2005 Jan Nieuwenhuizen <janneke@gnu.org>
+ (c) 2000--2006 Jan Nieuwenhuizen <janneke@gnu.org>
Revised over good by Han-Wen.
*/
-#include "text-item.hh"
+#include "text-interface.hh"
#include "text-spanner.hh"
#include "line-spanner.hh"
#include "spanner.hh"
#include "warn.hh"
#include "paper-column.hh"
-
class Dynamic_text_spanner
{
public:
static bool has_interface (Grob *);
};
-
/*
This is a partial C&P from text-spanner.cc
Spanner *spanner = dynamic_cast<Spanner *> (me);
Grob *common = spanner->get_bound (LEFT)->common_refpoint (spanner->get_bound (RIGHT), X_AXIS);
- Output_def *layout = me->get_layout ();
+ Output_def *layout = me->layout ();
Interval span_points;
Drul_array<bool> broken;
SCM text = index_get_cell (edge_text, d);
- if (Text_interface::markup_p (text))
+ if (Text_interface::is_markup (text))
edge[d] = *unsmob_stencil (Text_interface::interpret_markup (layout->self_scm (), properties, text));
if (!edge[d].is_empty ())
}
while (flip (&d) != LEFT);
- if (!span_points.is_empty ())
+ if (!span_points.is_empty ()
+ && span_points.length () > robust_scm2double (me->get_property ("dash-period"), 0.0))
{
Stencil l = Line_spanner::line_stencil (me,
Offset (span_points[LEFT], 0),
ADD_INTERFACE (Dynamic_text_spanner,
"dynamic-text-spanner-interface",
"A text spanner for crescendo texts",
- "bound-padding dash-period dash-fraction edge-text style thickness");
+
+ "bound-padding "
+ "dash-period "
+ "dash-fraction "
+ "edge-text "
+ "style "
+ "thickness");