]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/break-align-item.hh
028b4f282eddbf8e18030df6a5d85c192343ff1e
[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    TODO: remove this as a class, and make interface.
25  */
26
27 class Break_align_item
28 {
29 public:
30   static SCM before_line_breaking (SCM);
31   static void do_alignment (Score_element*);
32   static void set_interface (Score_element*);
33   static bool has_interface (Score_element*);
34   static void add_element (Score_element*me, Score_element*add);
35   static Real alignment_callback (Score_element*, Axis);
36 };
37 #endif // BREAK_ALIGN_ITEM_HH