]> git.donarmstrong.com Git - lilypond.git/blob - lily/font-size-engraver.cc
4f706b34bf29ad2094e0f6797a2b0c86d27cf89f
[lilypond.git] / lily / font-size-engraver.cc
1 /*   
2   font-size-grav.cc --  implement Font_size_engraver
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 1998--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9
10 #include "font-size-engraver.hh"
11 #include "score-element.hh"
12 #include "lily-guile.hh"
13
14 Font_size_engraver::Font_size_engraver ()
15 {
16   size_ = SCM_EOL;
17 }
18
19 void
20 Font_size_engraver::do_process_requests ()
21 {
22   SCM s (get_property ("fontSize", 0));
23   
24   if (gh_number_p(s))
25     {
26       size_ = gh_scm2int (s);
27     }
28   else
29     {
30       size_ = SCM_EOL;
31     }
32 }
33
34 void
35 Font_size_engraver::acknowledge_element (Score_element_info e)
36 {
37   if (size_ != SCM_EOL
38       && e.elem_l_->get_elt_property (fontsize_scm_sym) == SCM_BOOL_F)
39     {
40       e.elem_l_->set_elt_property (fontsize_scm_sym, size_);
41     }
42 }
43
44 ADD_THIS_TRANSLATOR (Font_size_engraver);
45