lilypond-1.3.30
[lilypond.git] / lily / include / align-element.hh
blobc6e230df5d058e5bc75fa46bdf3c18f44e527ed5
1 /*
2 align-item.hh -- declare Align_elem
4 source file of the GNU LilyPond music typesetter
6 (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7 */
10 #ifndef VERTICAL_ALIGN_ITEM_HH
11 #define VERTICAL_ALIGN_ITEM_HH
13 #include "axis-group-element.hh"
14 #include "interval.hh"
15 #include "direction.hh"
16 #include "axes.hh"
17 #include "hash-table.hh"
19 /**
20 Order elements top to bottom/left to right/right to left etc..
22 TODO: implement padding.
24 document usage of this.
28 *******
30 element properties
32 stacking-dir
34 Which side to align? -1: left side, 0: centered (around
35 center_l_ if not nil, or around center of width), 1: right side
37 *****
39 align-dir: deprecate! Use Side_pos_interface::self_align
43 class Align_element : public virtual Axis_group_element {
44 public:
45 Interval threshold_interval_ ;
47 Axis axis () const;
49 Align_element ();
50 void set_axis (Axis);
51 int get_count (Score_element*)const;
52 protected:
53 virtual void do_post_processing() ;
54 virtual void do_pre_processing ();
55 virtual void do_side_processing ();
57 #endif // VERTICAL_ALIGN_ITEM_HH