LEFT | RIGHT |
1 /* | 1 /* |
2 This file is part of LilyPond, the GNU music typesetter. | 2 This file is part of LilyPond, the GNU music typesetter. |
3 | 3 |
4 Copyright (C) 1999--2012 Han-Wen Nienhuys <hanwen@xs4all.nl> | 4 Copyright (C) 1999--2012 Han-Wen Nienhuys <hanwen@xs4all.nl> |
5 | 5 |
6 LilyPond is free software: you can redistribute it and/or modify | 6 LilyPond is free software: you can redistribute it and/or modify |
7 it under the terms of the GNU General Public License as published by | 7 it under the terms of the GNU General Public License as published by |
8 the Free Software Foundation, either version 3 of the License, or | 8 the Free Software Foundation, either version 3 of the License, or |
9 (at your option) any later version. | 9 (at your option) any later version. |
10 | 10 |
(...skipping 15 matching lines...) Expand all Loading... |
26 /** | 26 /** |
27 A notation object that needs access to variables of the staff (no | 27 A notation object that needs access to variables of the staff (no |
28 lines, leading). | 28 lines, leading). |
29 */ | 29 */ |
30 class Staff_symbol_referencer | 30 class Staff_symbol_referencer |
31 { | 31 { |
32 public: | 32 public: |
33 DECLARE_GROB_INTERFACE (); | 33 DECLARE_GROB_INTERFACE (); |
34 static bool ugly_hack (Grob *); | 34 static bool ugly_hack (Grob *); |
35 static void set_position (Grob *, Real); | 35 static void set_position (Grob *, Real); |
| 36 static Real get_translated_position (Grob *, Real); |
36 DECLARE_SCHEME_CALLBACK (callback, (SCM element)); | 37 DECLARE_SCHEME_CALLBACK (callback, (SCM element)); |
37 | 38 |
38 /** | 39 /** |
39 Leading are the lead strips between the sticks (lines) of | 40 Leading are the lead strips between the sticks (lines) of |
40 typeface. ie. leading is vertical space. | 41 typeface. ie. leading is vertical space. |
41 */ | 42 */ |
42 static Real line_thickness (Grob *); | 43 static Real line_thickness (Grob *); |
43 static Real staff_space (Grob *); | 44 static Real staff_space (Grob *); |
44 static Grob *get_staff_symbol (Grob *); | 45 static Grob *get_staff_symbol (Grob *); |
45 static bool on_line (Grob *, int); | 46 static bool on_line (Grob *, int); |
46 static bool on_staff_line (Grob *, int); | 47 static bool on_staff_line (Grob *, int); |
47 static int line_count (Grob *); | 48 static int line_count (Grob *); |
48 static Real get_position (Grob *); | 49 static Real get_position (Grob *); |
49 static Real pure_get_position (Grob *); | 50 static Real pure_get_position (Grob *); |
50 static Real staff_radius (Grob *); | 51 static Real staff_radius (Grob *); |
51 static int get_rounded_position (Grob *); | 52 static int get_rounded_position (Grob *); |
52 static int pure_get_rounded_position (Grob *); | 53 static int pure_get_rounded_position (Grob *); |
53 static Interval extent_in_staff (Grob *); | 54 static Interval extent_in_staff (Grob *); |
54 | 55 |
55 private: | 56 private: |
56 static Real internal_get_position (Grob *, bool); | 57 static Real internal_get_position (Grob *, bool); |
57 }; | 58 }; |
58 | 59 |
59 int compare_position (Grob *const &, Grob *const &); | 60 int compare_position (Grob *const &, Grob *const &); |
60 bool position_less (Grob *const &, Grob *const &); | 61 bool position_less (Grob *const &, Grob *const &); |
61 bool pure_position_less (Grob *const &, Grob *const &); | 62 bool pure_position_less (Grob *const &, Grob *const &); |
62 #endif /* STAFF_SYMBOL_REFERENCER_HH */ | 63 #endif /* STAFF_SYMBOL_REFERENCER_HH */ |
63 | 64 |
LEFT | RIGHT |