]> git.donarmstrong.com Git - lilypond.git/blob - lily/include/extender-spanner.hh
release: 1.3.55
[lilypond.git] / lily / include / extender-spanner.hh
1 /*
2   extender-spanner.hh -- part of GNU LilyPond
3
4   (c) 1998--2000 Jan Nieuwenhuizen <janneke@gnu.org>
5 */
6
7 #ifndef EXTENDER_SPANNER_HH
8 #define EXTENDER_SPANNER_HH
9
10 #include "spanner.hh"
11
12 /** 
13   simple extender line 
14
15   The extender is a simple line at the baseline of the lyric
16   that helps show the length of a melissima (tied/slurred note).
17
18   Extenders must be entered manually for now.
19
20   Although it would be possible for Lily to determine where to
21   put extender lines, it's quite a tricky thing to do.  Also,
22   this would demand quite strict lyrics entries.
23
24   Note: the extender is only used for one-syllable words, or
25   for on a word's last syllable.  The extender should be aligned
26   with the left side of the last note of the melissima, and not
27   extend beond, lasting the whole duration of the melissima
28   (as in MUP, urg).
29   */
30 class Extender_spanner : public Spanner
31 {
32 public:
33   Extender_spanner (SCM);
34   void set_textitem (Direction, Item*);
35
36 protected:
37   virtual Molecule do_brew_molecule () const;
38   void after_line_breaking ();
39  
40   VIRTUAL_COPY_CONS (Score_element);
41
42   Drul_array<Real> dx_f_drul_;
43 };
44
45 #endif // EXTENDER_SPANNER_HH
46