LEFT | RIGHT |
(no file at all) | |
1 /* | |
2 This file is part of LilyPond, the GNU music typesetter. | |
3 | |
4 Copyright (C) 1997--2012 Han-Wen Nienhuys <hanwen@xs4all.nl> | |
5 | |
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 | |
8 the Free Software Foundation, either version 3 of the License, or | |
9 (at your option) any later version. | |
10 | |
11 LilyPond is distributed in the hope that it will be useful, | |
12 but WITHOUT ANY WARRANTY; without even the implied warranty of | |
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
14 GNU General Public License for more details. | |
15 | |
16 You should have received a copy of the GNU General Public License | |
17 along with LilyPond. If not, see <http://www.gnu.org/licenses/>. | |
18 */ | |
19 | |
20 #ifndef SPAN_BAR_HH | |
21 #define SPAN_BAR_HH | |
22 | |
23 #include "lily-proto.hh" | |
24 #include "grob-interface.hh" | |
25 | |
26 /** | |
27 This is a barline that is spanned across other bar lines. This is | |
28 the implementation of the long barlines that occur in orchestral | |
29 score and other multi-staff music. | |
30 */ | |
31 class Span_bar | |
32 { | |
33 public: | |
34 | |
35 DECLARE_GROB_INTERFACE (); | |
36 static Interval get_spanned_interval (Grob *); | |
37 static void add_bar (Grob *, Grob *); | |
38 static void evaluate_glyph (Grob *); | |
39 static void notify_grobs_of_my_existence (Grob *); | |
40 DECLARE_SCHEME_CALLBACK (width, (SCM smob)); | |
41 DECLARE_SCHEME_CALLBACK (print, (SCM)); | |
42 DECLARE_SCHEME_CALLBACK (calc_glyph_name, (SCM)); | |
43 DECLARE_SCHEME_CALLBACK (before_line_breaking, (SCM)); | |
44 DECLARE_SCHEME_CALLBACK (center_on_spanned_callback, (SCM element)); | |
45 }; | |
46 | |
47 #endif // SPAN_BAR_HH | |
LEFT | RIGHT |