LEFT | RIGHT |
1 /* | 1 /* |
2 This file is part of LilyPond, the GNU music typesetter. | 2 This file is part of LilyPond, the GNU music typesetter. |
3 | 3 |
4 Copyright (C) 2000--2020 Han-Wen Nienhuys <hanwen@xs4all.nl> | 4 Copyright (C) 2000--2020 Han-Wen Nienhuys <hanwen@xs4all.nl> |
5 | 5 |
6 LilyPond is free software: you can redistribute it and/or modify | 6 LilyPond is free software: you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation, either version 3 of the License, or | 8 the Free Software Foundation, either version 3 of the License, or |
9 (at your option) any later version. | 9 (at your option) any later version. |
10 | 10 |
(...skipping 255 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
266 if (outside_staff && begin_line_staff_heights.empty ()) | 266 if (outside_staff && begin_line_staff_heights.empty ()) |
267 { | 267 { |
268 begin_line_staff_heights = begin_line_heights; | 268 begin_line_staff_heights = begin_line_heights; |
269 mid_line_staff_heights = mid_line_heights; | 269 mid_line_staff_heights = mid_line_heights; |
270 } | 270 } |
271 | 271 |
272 // TODO: consider a pure version of get_grob_direction? | 272 // TODO: consider a pure version of get_grob_direction? |
273 Direction d = to_dir (g->get_property_data ("direction")); | 273 Direction d = to_dir (g->get_property_data ("direction")); |
274 d = (d == CENTER) ? UP : d; | 274 d = (d == CENTER) ? UP : d; |
275 | 275 |
276 Interval_t<int> rank_span_int = g->spanned_rank_interval (); | 276 Interval_t<vsize> rank_span (g->spanned_rank_interval ()); |
277 Interval_t<vsize> rank_span (rank_span_int[LEFT], rank_span_int[RIGHT]); | |
278 | |
279 vsize first_break | 277 vsize first_break |
280 = lower_bound (ranks, rank_span[LEFT], std::less<vsize> ()); | 278 = lower_bound (ranks, rank_span[LEFT], std::less<vsize> ()); |
281 if (first_break > 0 && ranks[first_break] >= rank_span[LEFT]) | 279 if (first_break > 0 && ranks[first_break] >= rank_span[LEFT]) |
282 first_break--; | 280 first_break--; |
283 | 281 |
284 for (vsize j = first_break; | 282 for (vsize j = first_break; |
285 j + 1 < ranks.size () && ranks[j] <= rank_span[RIGHT]; ++j) | 283 j + 1 < ranks.size () && ranks[j] <= rank_span[RIGHT]; ++j) |
286 { | 284 { |
287 vsize start = ranks[j]; | 285 vsize start = ranks[j]; |
288 vsize end = ranks[j + 1]; | 286 vsize end = ranks[j + 1]; |
(...skipping 774 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1063 "pure-relevant-items " | 1061 "pure-relevant-items " |
1064 "pure-relevant-spanners " | 1062 "pure-relevant-spanners " |
1065 "pure-Y-common " | 1063 "pure-Y-common " |
1066 "staff-affinity " | 1064 "staff-affinity " |
1067 "staff-grouper " | 1065 "staff-grouper " |
1068 "staff-staff-spacing " | 1066 "staff-staff-spacing " |
1069 "system-Y-offset " | 1067 "system-Y-offset " |
1070 "X-common " | 1068 "X-common " |
1071 "Y-common " | 1069 "Y-common " |
1072 ); | 1070 ); |
LEFT | RIGHT |