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) 1996--2011 Han-Wen Nienhuys | 4 Copyright (C) 1996--2011 Han-Wen Nienhuys |
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 19 matching lines...) Expand all Loading... |
30 represents a system (i.e. a line of music). | 30 represents a system (i.e. a line of music). |
31 */ | 31 */ |
32 class System : public Spanner | 32 class System : public Spanner |
33 { | 33 { |
34 int rank_; | 34 int rank_; |
35 vector<Simple_spacer> simple_spacers_; | 35 vector<Simple_spacer> simple_spacers_; |
36 Grob_array *all_elements_; | 36 Grob_array *all_elements_; |
37 void init_elements (); | 37 void init_elements (); |
38 friend class Paper_score; // ugh. | 38 friend class Paper_score; // ugh. |
39 Paper_score *pscore_; // ugh. | 39 Paper_score *pscore_; // ugh. |
40 bool checked_footnotes_; | |
41 vector<Grob *> footnote_grobs_; // TODO: make this a grob array | |
42 | 40 |
43 public: | 41 public: |
44 Paper_score *paper_score () const; | 42 Paper_score *paper_score () const; |
45 Grob *get_vertical_alignment (); | 43 Grob *get_vertical_alignment (); |
46 Grob *get_extremal_staff (Direction dir, Interval const &); | 44 Grob *get_extremal_staff (Direction dir, Interval const &); |
47 Grob *get_pure_bound (Direction dir, int start, int end); | 45 Grob *get_pure_bound (Direction dir, int start, int end); |
48 Grob *get_maybe_pure_bound (Direction dir, bool pure, int start, int end); | 46 Grob *get_maybe_pure_bound (Direction dir, bool pure, int start, int end); |
49 int get_rank () const; | 47 int get_rank () const; |
50 vector<Simple_spacer> get_simple_spacers (Real line_len, Real indent, bool rag
ged); | 48 vector<Simple_spacer> get_simple_spacers (Real line_len, Real indent, bool rag
ged); |
51 void gen_simple_spacers (Real line_len, Real indent, bool ragged); | 49 void gen_simple_spacers (Real line_len, Real indent, bool ragged); |
52 vector<Real> get_footnote_heights_in_range (vsize st, vsize end); | 50 vector<Real> get_footnote_heights_in_range (vsize st, vsize end); |
53 vector<Real> get_in_note_heights_in_range (vsize st, vsize end); | 51 vector<Real> get_in_note_heights_in_range (vsize st, vsize end); |
54 vector<Real> internal_get_note_heights_in_range (vsize st, vsize end, bool foo
t); | 52 vector<Real> internal_get_note_heights_in_range (vsize st, vsize end, bool foo
t); |
55 void get_footnote_grobs_in_range (vector<Grob *> &out, vsize st, vsize end); | 53 vector<Grob *> get_footnote_grobs_in_range (vsize st, vsize end); |
56 vector<Grob *> *footnote_grobs (); | |
57 vsize num_footnotes (); | 54 vsize num_footnotes (); |
58 void do_break_substitution_and_fixup_refpoints (); | 55 void do_break_substitution_and_fixup_refpoints (); |
59 void post_processing (); | 56 void post_processing (); |
60 void populate_footnote_grob_vector (); | |
61 SCM get_paper_system (); | 57 SCM get_paper_system (); |
62 SCM get_paper_systems (); | 58 SCM get_paper_systems (); |
63 SCM get_broken_system_grobs (); | 59 SCM get_broken_system_grobs (); |
64 SCM get_broken_footnote_stencils (); | 60 SCM get_broken_footnote_stencils (); |
65 | 61 |
| 62 DECLARE_SCHEME_CALLBACK (footnotes_before_line_breaking, (SCM)); |
| 63 DECLARE_SCHEME_CALLBACK (footnotes_after_line_breaking, (SCM)); |
66 DECLARE_SCHEME_CALLBACK (calc_pure_relevant_grobs, (SCM)); | 64 DECLARE_SCHEME_CALLBACK (calc_pure_relevant_grobs, (SCM)); |
67 DECLARE_SCHEME_CALLBACK (height, (SCM)); | 65 DECLARE_SCHEME_CALLBACK (height, (SCM)); |
68 DECLARE_SCHEME_CALLBACK (calc_pure_height, (SCM, SCM, SCM)); | 66 DECLARE_SCHEME_CALLBACK (calc_pure_height, (SCM, SCM, SCM)); |
69 DECLARE_SCHEME_CALLBACK (get_staves, (SCM)); | 67 DECLARE_SCHEME_CALLBACK (get_staves, (SCM)); |
70 DECLARE_SCHEME_CALLBACK (get_spaceable_staves, (SCM)); | 68 DECLARE_SCHEME_CALLBACK (get_spaceable_staves, (SCM)); |
71 DECLARE_SCHEME_CALLBACK (get_nonspaceable_staves, (SCM)); | 69 DECLARE_SCHEME_CALLBACK (get_nonspaceable_staves, (SCM)); |
72 | 70 |
73 System (SCM); | 71 System (SCM); |
74 System (System const &); | 72 System (System const &); |
75 | 73 |
(...skipping 21 matching lines...) Expand all Loading... |
97 virtual Grob *clone () const; | 95 virtual Grob *clone () const; |
98 | 96 |
99 private: | 97 private: |
100 Interval part_of_line_pure_height (vsize start, vsize end, bool begin); | 98 Interval part_of_line_pure_height (vsize start, vsize end, bool begin); |
101 }; | 99 }; |
102 | 100 |
103 void set_loose_columns (System *which, Column_x_positions const *posns); | 101 void set_loose_columns (System *which, Column_x_positions const *posns); |
104 | 102 |
105 #endif /* SYSTEM_HH */ | 103 #endif /* SYSTEM_HH */ |
106 | 104 |
LEFT | RIGHT |