source file of the GNU LilyPond music typesetter
- (c) 1999--2005 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1999--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
TODO:
- add support for different stretch/shrink constants?
*/
#include <cstdio>
-#include <math.h>
#include "libc-extension.hh" // isinf
#include "simple-spacer.hh"
Real bf = -infinity_f;
for (int i = 0; i < springs_.size (); i++)
if (springs_[i].is_active_)
- {
- bf = max (bf, springs_[i].block_force_);
- }
+ bf = max (bf, springs_[i].block_force_);
return bf;
}
}
if (!inverse_hooke)
- {
- desc.is_active_ = false;
- }
+ desc.is_active_ = false;
else
{
/*
desc.is_active_ ?
*/
- desc.block_force_ = - desc.ideal_ / desc.inverse_hooke_;
+ desc.block_force_ = -desc.ideal_ / desc.inverse_hooke_;
// block at distance 0
active_count_++;
Simple_spacer_wrapper::add_columns (Link_array<Grob> const &icols)
{
Link_array<Grob> cols (icols);
+ cols.clear ();
- for (int i = cols.size (); i--;)
- if (scm_is_pair (cols[i]->get_object ("between-cols")))
- {
- loose_cols_.push (cols[i]);
- cols.del (i);
- }
+ for (int i = 0; i < icols.size (); i++)
+ if (scm_is_pair (icols[i]->get_object ("between-cols")))
+ loose_cols_.push (icols[i]);
+ else
+ cols.push (icols[i]);
spaced_cols_ = cols;
for (int i = 0; i < cols.size () - 1; i++)
scm_is_pair (s); s = scm_cdr (s))
{
Grob *other = unsmob_grob (scm_caar (s));
- int oi = binsearch_links (cols, other, &compare_paper_column_rank);
- if (oi >= 0
- && cols[oi] == other)
- {
- spacer_->add_rod (i, oi, scm_to_double (scm_cdar (s)));
- }
+ int j = binsearch_links (cols, other, &compare_paper_column_rank);
+ if (j >= 0 && cols[j] == other)
+ spacer_->add_rod (i, j, scm_to_double (scm_cdar (s)));
}
if (i
- && !to_boolean (cols[i]->get_property ("allow-outside-line")))
+ && to_boolean (cols[i]->get_property ("keep-inside-line")))
{
Interval e = cols[i]->extent (cols[i], X_AXIS);
if (!e.is_empty ())