]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/spaceable-element.hh
577f8902e1f842329d02305697aa15f88abb59f7
[lilypond.git] / lily / include / spaceable-element.hh
1 /*   
2   spaceable-element.hh -- declare Spaceable_element
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9
10 #ifndef SPACEABLE_ELEMENT_HH
11 #define SPACEABLE_ELEMENT_HH
12
13 #include "lily-guile.hh"
14 #include "lily-proto.hh"
15
16 /*
17   properties :
18
19   minimum-distances -- list of rods (ie. (OBJ . DIST) pairs)
20
21   ideal-distances -- (OBJ . (DIST . STRENGTH)) pairs
22   
23   dir-list -- list of stem directions.
24  */
25 struct Spaceable_element
26 {
27   /// set a minimum distance
28   static void add_rod (Score_element*me, Score_element * to, Real distance);
29   static void add_spring (Score_element*me,Score_element * to, Real dist, Real strength);
30   static void set_interface (Score_element*);
31   static void remove_interface (Score_element*);
32   static SCM get_minimum_distances (Score_element*);
33   static SCM get_ideal_distances (Score_element*);
34 };
35
36 #endif /* SPACEABLE_ELEMENT_HH */
37