]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/break-align-item.hh
release: 1.3.92
[lilypond.git] / lily / include / break-align-item.hh
1 /*
2   break-align-item.hh -- declare Break_align_item
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef BREAK_ALIGN_ITEM_HH
11 #define BREAK_ALIGN_ITEM_HH
12
13 #include "item.hh"
14
15 /**
16    align breakable items (clef, bar, etc.)
17
18    Properties:
19
20    break-align-symbol -- the index in the spacing table (symbol) of
21    the to be aligned item.
22
23 */
24 class Break_align_interface
25 {
26 public:
27   static SCM before_line_breaking (SCM);
28   static void do_alignment (Score_element*);
29   static void set_interface (Score_element*);
30   static bool has_interface (Score_element*);
31   static void add_element (Score_element*me, Score_element*add);
32   static Real alignment_callback (Score_element*, Axis);
33   static Real self_align_callback (Score_element*, Axis);
34 };
35 #endif // BREAK_ALIGN_ITEM_HH