]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/accidental-placement.hh
fix conditional-elements in horizontal-spacing skylines
[lilypond.git] / lily / include / accidental-placement.hh
1 /*
2   accidental-placement.hh -- declare  Accidental_placement
3
4   source file of the GNU LilyPond music typesetter
5
6   (c) 2002--2006 Han-Wen Nienhuys <hanwen@xs4all.nl>
7 */
8
9 #ifndef ACCIDENTAL_PLACEMENT_HH
10 #define ACCIDENTAL_PLACEMENT_HH
11
12 #include "grob-interface.hh"
13 #include "lily-proto.hh"
14
15 class Accidental_placement
16 {
17 public:
18   DECLARE_SCHEME_CALLBACK (alignment_callback, (SCM element));
19   static void add_accidental (Grob *, Grob *);
20
21   static vector<Grob*> get_break_reminder_accidentals (vector<Grob*> const &elts,
22                                                        Grob *left);
23   static Interval get_relevant_accidental_extent (Grob *me,
24                                                   Item *item_col,
25                                                   Grob *acc);
26   static void split_accidentals (Grob *accs,
27                                  vector<Grob*> *break_reminder,
28                                  vector<Grob*> *real_acc);
29
30   DECLARE_SCHEME_CALLBACK(calc_positioning_done, (SCM));
31   DECLARE_GROB_INTERFACE();
32 };
33 #endif /* ACCIDENTAL_PLACEMENT_HH */
34