]> git.donarmstrong.com Git - lilypond.git/blob - lily/span-score-bar.cc
partial: 1.0.1.jcn
[lilypond.git] / lily / span-score-bar.cc
1 /*
2   span-score-bar.cc -- implement Span_score_bar
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--1998 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8
9 #include "span-score-bar.hh"
10 #include "atom.hh"
11 #include "paper-def.hh"
12 #include "lookup.hh"
13
14 Span_score_bar::Span_score_bar()
15 {
16 }
17
18 void
19 Score_bar::do_pre_processing ()
20 {
21   type_str_ = "|";
22   if (break_status_i() != 1) 
23     {
24       set_empty (true);
25       transparent_b_ = true;
26     }
27 }
28
29 void
30 Span_score_bar::do_pre_processing()
31 {
32   /*
33     duh.  The order of these two is subtle. 
34    */
35   Score_bar::do_pre_processing ();
36   //  Span_bar::do_pre_processing();
37 }
38
39 Atom
40 Piano_brace::get_bar_sym (Real dy) const
41 {
42   return paper()->lookup_l ()->vbrace (dy);
43 }
44
45 Interval
46 Piano_brace::do_width() const
47 {
48   return Interval (0,0);
49 }
50
51 Atom
52 Staff_bracket::get_bar_sym (Real dy) const
53 {
54   Atom a = paper()->lookup_l ()->vbracket (dy);
55   a.translate_axis (- 1.5 * a.extent ().x ().length (), X_AXIS);
56   return a;
57 }
58
59 Interval
60 Staff_bracket::do_width() const
61 {
62   return Interval (0,0);
63 }
64
65
66 IMPLEMENT_IS_TYPE_B2(Span_score_bar, Span_bar, Score_bar);
67 IMPLEMENT_IS_TYPE_B1(Piano_brace, Span_score_bar);
68 IMPLEMENT_IS_TYPE_B1(Staff_bracket, Span_score_bar);
69
70