From: Jan Nieuwenhuizen Date: Sun, 28 May 2000 22:12:41 +0000 (+0200) Subject: partial: 1.3.56.jcn X-Git-Tag: release/1.3.56~1 X-Git-Url: https://git.donarmstrong.com/?a=commitdiff_plain;h=910faf0de802844cdafde781ce42af71986297bc;p=lilypond.git partial: 1.3.56.jcn =========== * Molecules are now generated via callbacks exclusively; most calls to set_elt_property ("transparent) have been replaced by suicide(). 1.3.54.h --- diff --git a/lily/extender-spanner.cc b/lily/extender-spanner.cc deleted file mode 100644 index 8a987bad27..0000000000 --- a/lily/extender-spanner.cc +++ /dev/null @@ -1,80 +0,0 @@ -/* - extender-spanner.cc -- implement Extender_spanner - - source file of the GNU LilyPond music typesetter - - (c) 1998--2000 Jan Nieuwenhuizen -*/ - -/* - TODO: too complicated implementation. Why the dx_drul?. - */ - -# -#include "dimension-cache.hh" -#include "box.hh" -#include "debug.hh" -#include "lookup.hh" -#include "molecule.hh" -#include "paper-column.hh" -#include "paper-def.hh" -#include "extender-spanner.hh" - -Extender_spanner::Extender_spanner (SCM s) - : Spanner (s) - -{ - dx_f_drul_[LEFT] = dx_f_drul_[RIGHT] = 0.0; - set_extent_callback (Score_element::point_dimension_callback, Y_AXIS); -} - - - - -Molecule -Extender_spanner::do_brew_molecule () const -{ - Molecule mol; - - Real w = spanner_length (); - - w += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]); - Real h = paper_l ()->get_var ("extender_height"); - Molecule a = lookup_l ()->filledbox ( Box (Interval (0,w), Interval (0,h))); - a.translate (Offset (dx_f_drul_[LEFT], 0)); - - mol.add_molecule (a); - - return mol; -} - - - -void -Extender_spanner::after_line_breaking () -{ - // UGH - Real gap = paper_l ()->get_var ("interline"); - - Direction d = LEFT; - do - { - Item* t = get_bound (d) - ? get_bound (d) : get_bound ((Direction)-d); - if (d == LEFT) - dx_f_drul_[d] += t->extent (X_AXIS).length (); - else - dx_f_drul_[d] -= d * gap / 2; - } - while (flip(&d) != LEFT); -} - - -void -Extender_spanner::set_textitem (Direction d, Item* textitem_l) -{ - set_bound (d, textitem_l); - add_dependency (textitem_l); -} - - diff --git a/lily/lyric-extender.cc b/lily/lyric-extender.cc new file mode 100644 index 0000000000..879fa63772 --- /dev/null +++ b/lily/lyric-extender.cc @@ -0,0 +1,80 @@ +/* + lyric-extender.cc -- implement Lyric_extender + source file of the GNU LilyPond music typesetter + + (c) 1998--2000 Jan Nieuwenhuizen +*/ + +/* + TODO: too complicated implementation. Why the dx_drul?. + */ + +# +#include "dimension-cache.hh" +#include "box.hh" +#include "debug.hh" +#include "lookup.hh" +#include "molecule.hh" +#include "paper-column.hh" +#include "paper-def.hh" +#include "extender-spanner.hh" + +Lyric_extender::Lyric_extender (SCM s) + : Spanner (s) + +{ + dx_f_drul_[LEFT] = dx_f_drul_[RIGHT] = 0.0; + set_extent_callback (Score_element::point_dimension_callback, Y_AXIS); +} + + + + +MAKE_SCHEME_SCORE_ELEMENT_CALLBACKS(Lyric_extender) +Molecule +Lyric_extender::do_brew_molecule () const +{ + Molecule mol; + + Real w = spanner_length (); + + w += (dx_f_drul_[RIGHT] - dx_f_drul_[LEFT]); + Real h = paper_l ()->get_var ("extender_height"); + Molecule a = lookup_l ()->filledbox ( Box (Interval (0,w), Interval (0,h))); + a.translate (Offset (dx_f_drul_[LEFT], 0)); + + mol.add_molecule (a); + + return mol; +} + + + +void +Lyric_extender::after_line_breaking () +{ + // UGH + Real gap = paper_l ()->get_var ("interline"); + + Direction d = LEFT; + do + { + Item* t = get_bound (d) + ? get_bound (d) : get_bound ((Direction)-d); + if (d == LEFT) + dx_f_drul_[d] += t->extent (X_AXIS).length (); + else + dx_f_drul_[d] -= d * gap / 2; + } + while (flip(&d) != LEFT); +} + + +void +Lyric_extender::set_textitem (Direction d, Item* textitem_l) +{ + set_bound (d, textitem_l); + add_dependency (textitem_l); +} + +