lilypond-1.3.16
[lilypond.git] / lily / include / span-bar.hh
blob6d6e01c1a2ee12c3e49cf2b853a08e3984160703
1 /*
2 span-bar.hh -- declare Span_bar
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
10 #ifndef SPAN_BAR_HH
11 #define SPAN_BAR_HH
13 #include "bar.hh"
15 /**
16 This is a barline that is spanned across other bar lines. This is
17 the implementation of the long barlines that occur in orchestral
18 score and other multi-staff music.
20 TODO: Is this usable for other stuff besides barlines? We only have
21 to span a Score_element. Perhaps this can be used for large time
22 sigs?
24 class Span_bar : public Bar
26 Interval get_spanned_interval () const;
27 public:
28 Span_bar();
30 VIRTUAL_COPY_CONS(Score_element);
31 void add_bar (Score_element*);
32 void set_align (Align_element *);
33 protected:
34 void evaluate_empty ();
36 static Interval width_callback(Dimension_cache const*) ;
37 static Interval height_callback(Dimension_cache const*) ;
39 virtual void do_pre_processing();
40 virtual void do_post_processing();
41 virtual Molecule * do_brew_molecule_p() const;
44 #endif // SPAN_BAR_HH