2 stem-info.cc -- implement Stem_info
4 source file of the GNU LilyPond music typesetter
6 (c) 1997 Jan Nieuwenhuizen <jan@digicash.com>
16 #include "paper-def.hh"
18 #include "stem-info.hh"
20 Stem_info::Stem_info ()
24 Stem_info::Stem_info (Stem
const *s
)
28 beams_i_
= 0 >? (abs (s
->flag_i_
) - 2);
36 miny_f_ = interline + #beams * interbeam
37 ideal8 = 2 * interline + interbeam
38 ideal16,32,64,128 = 1.5 * interline + #beams * interbeam
41 miny_f_ = interline + #beams * interbeam
42 ideal8,16 = 2 interline + #beams * interbeam
43 ideal32,64,128 = 1.5 interline + #beams * interbeam
47 Real internote_f
= s
->paper ()->internote_f ();
48 Real interline_f
= 2 * internote_f
;
49 Real notehead_y
= interline_f
;
50 // huh? why do i seem to need the / 2 ?
51 Real interbeam_f
= s
->paper ()->interbeam_f ();
52 // Real interbeam_f = s->paper ()->interbeam_f () / 2;
53 // perhaps bo dim (y) = internote?
55 idealy_f_
= dir_
* s
->stem_begin_f () + beams_i_
* interbeam_f
;
57 idealy_f_
+= 2 * interline_f
;
59 idealy_f_
+= 1.5 * interline_f
;
60 idealy_f_
/= internote_f
;
61 miny_f_
= dir_
* s
->stem_begin_f () + 2 + beams_i_
* interbeam_f
/ internote_f
;
63 idealy_f_
= miny_f_
>? idealy_f_
;
64 // assert (miny_f_ <= idealy_f_);