]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/item.hh
release: 0.0.59
[lilypond.git] / lily / include / item.hh
1 /*
2   item.hh -- declare Item
3
4   source file of the LilyPond music typesetter
5
6   (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
7 */
8 #ifndef ITEM_HH
9 #define ITEM_HH
10
11 #include "glob.hh"
12 #include "boxes.hh"
13 #include "string.hh"
14 #include "staff-elem.hh"
15
16 /**
17  a horizontally fixed size element of the score
18
19   Item is the datastructure for printables whose width is known
20   before the spacing is calculated
21
22   NB. This doesn't mean an Item has to initialize the output field before
23   spacing calculation. 
24   
25 */
26 class Item : public Staff_elem {
27 public:
28     /// indirection to the column it is in
29     PCol * pcol_l_;
30
31     /* *************** */
32     virtual Item *item() { return this; }
33     Item();
34     void do_print()const;
35     Real hpos_f() const;
36     NAME_MEMBERS(Item);
37     /**
38       
39       @return the line where this is in; 
40
41       PRE
42       Breaking calc has  to be finished
43      */
44     Line_of_score * line_l() const;
45 };
46
47
48 #endif