LEFT | RIGHT |
(no file at all) | |
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) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl> | 4 Copyright (C) 1997--2012 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 201 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
212 } | 212 } |
213 } | 213 } |
214 } | 214 } |
215 | 215 |
216 if (!align) | 216 if (!align) |
217 return Interval (0, 0) + me->relative_coordinate (p, X_AXIS); | 217 return Interval (0, 0) + me->relative_coordinate (p, X_AXIS); |
218 | 218 |
219 return align->extent (p, X_AXIS); | 219 return align->extent (p, X_AXIS); |
220 } | 220 } |
221 | 221 |
| 222 /* |
| 223 Loop through elements of a PaperColumn, find all grobs implementing specified |
| 224 interface and return their combined extent. |
| 225 */ |
| 226 Interval |
| 227 Paper_column::get_generic_interface_extent (Grob *column, SCM interface, Axis a) |
| 228 { |
| 229 Interval extent = Interval (0, 0); |
| 230 extract_grob_set (column, "elements", elts); |
| 231 |
| 232 for (vsize i = 0; i < elts.size (); i++) |
| 233 if (elts[i]->internal_has_interface (interface)) |
| 234 extent.unite (robust_relative_extent (elts[i], elts[i], a)); |
| 235 |
| 236 return extent; |
| 237 } |
222 | 238 |
223 /* | 239 /* |
224 Print a vertical line and the rank number, to aid debugging. | 240 Print a vertical line and the rank number, to aid debugging. |
225 */ | 241 */ |
226 MAKE_SCHEME_CALLBACK (Paper_column, print, 1); | 242 MAKE_SCHEME_CALLBACK (Paper_column, print, 1); |
227 SCM | 243 SCM |
228 Paper_column::print (SCM p) | 244 Paper_column::print (SCM p) |
229 { | 245 { |
230 Paper_column *me = dynamic_cast<Paper_column *> (unsmob_grob (p)); | 246 Paper_column *me = dynamic_cast<Paper_column *> (unsmob_grob (p)); |
231 | 247 |
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
409 "page-break-permission " | 425 "page-break-permission " |
410 "page-turn-penalty " | 426 "page-turn-penalty " |
411 "page-turn-permission " | 427 "page-turn-permission " |
412 "rhythmic-location " | 428 "rhythmic-location " |
413 "shortest-playing-duration " | 429 "shortest-playing-duration " |
414 "shortest-starter-duration " | 430 "shortest-starter-duration " |
415 "spacing " | 431 "spacing " |
416 "used " | 432 "used " |
417 "when "); | 433 "when "); |
418 | 434 |
LEFT | RIGHT |