]> git.donarmstrong.com Git - lilypond.git/blob - lily/font-size-engraver.cc
a8554d4453a543a5d54599b340da7021f720bae9
[lilypond.git] / lily / font-size-engraver.cc
1 /*   
2   font-size-engraver.cc --  implement 
3   
4   source file of the GNU LilyPond music typesetter
5   
6   (c) 2001 Han-Wen Nienhuys <hanwen@cs.uu.nl>
7   
8  */
9
10 #include "grob.hh"
11 #include "engraver.hh"
12
13 class Font_size_engraver : public Engraver
14 {
15   
16   TRANSLATOR_DECLARATIONS(Font_size_engraver);
17 protected:
18   virtual void acknowledge_grob (Grob_info gi);
19 private:
20 };
21
22
23 Font_size_engraver::Font_size_engraver ()
24 {
25
26 }
27
28 void
29 Font_size_engraver::acknowledge_grob (Grob_info gi)
30 {
31   SCM sz = get_property ("fontSize");
32
33   if (gh_number_p (sz)
34       && gh_scm2int (sz)
35       && !gh_number_p (gi.grob_l_->get_grob_property ("font-relative-size")))
36     {
37       gi.grob_l_->set_grob_property ("font-relative-size", sz);
38     }
39 }
40
41
42
43 ENTER_DESCRIPTION(Font_size_engraver,
44 /* descr */       "Puts fontSize into font-relative-size grob property.",
45 /* creats*/       "",
46 /* acks  */       "grob-interface",
47 /* reads */       "fontSize",
48 /* write */       "");