]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/score-priority-engraver.hh
release: 1.3.18
[lilypond.git] / lily / include / score-priority-engraver.hh
1 /*
2   score-align-engraver.hh -- declare Type_align_engraver
3
4   source file of the GNU LilyPond music typesetter
5
6   (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
8
9
10 #ifndef SCOREF_ALIGN_GRAV_HH
11 #define SCOREF_ALIGN_GRAV_HH
12
13 #include "engraver.hh"
14
15 /**
16   Group a number of items across staffs:
17
18   Acknowledge items, put each priority in a separate column.  Put all
19   columns in a horizontal align engraver.  We manufacture two types of
20   elements: the alignment element and the columns.  This is probably
21   more convenient, and I question the use having one without the
22   other.
23 */
24 class Score_priority_engraver : public Engraver
25 {
26   Break_align_item * halign_p_;
27   Link_array<Item> column_p_arr_;
28
29   void add_horizontal_group (Item* , int p);
30 public:
31   VIRTUAL_COPY_CONS(Translator);
32   Score_priority_engraver ();
33   
34 protected:
35   virtual void acknowledge_element (Score_element_info);
36   virtual void do_pre_move_processing();
37 };
38
39 #endif // SCORE_ALIGN_GRAV_HH