lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Swap 'polite' and 'l2r' variable definitions (issue 42000044)


From: k-ohara5a5a
Subject: Swap 'polite' and 'l2r' variable definitions (issue 42000044)
Date: Wed, 01 Jan 2014 04:21:51 +0000

The old variable definitions followed the corresponding words in the
options.

I see the bug in the old code, so left-to-right did not behave
symmetrically to right-to-left.

If the actual behavior fits the chosen options with your change, then
good enough.


https://codereview.appspot.com/42000044/diff/1/lily/axis-group-interface.cc
File lily/axis-group-interface.cc (left):

https://codereview.appspot.com/42000044/diff/1/lily/axis-group-interface.cc#oldcode739
lily/axis-group-interface.cc:739: || (directive == ly_symbol2scm
("left-to-right-polite")));
The original l2r meant that one of the two "left-to-right-*" options was
chosen.  Below, it means the objects closer to the left end of a line
are placed before those further right, so the items on the left tend to
go closer to the staff when there are overlaps.

https://codereview.appspot.com/42000044/diff/1/lily/axis-group-interface.cc#oldcode790
lily/axis-group-interface.cc:790: if (x_extent[LEFT] <= last_end[dir] &&
polite)
The old "polite" meant that if we are about to place an object that
would overlap one just placed, ask this object wait politely until we
first to place all objects that fit without overlap.

Placing each object on the first pass was called "greedy".

(The old logic here was not quite right, because if we are placing from
right to left -- the old 'ltr==false' -- then the test for overlap
concerns the x_extent[RIGHT] of the object we are about to place.  It
should have been x_extent[ltr?LEFT:RIGHT] and the converse below.  As it
is, the loop is quadratic, but does not hurt too badly because it
handles objects in just one after-breaking line.)

https://codereview.appspot.com/42000044/



reply via email to

[Prev in Thread] Current Thread [Next in Thread]