]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/key-item.cc
release: 1.3.109
[lilypond.git] / lily / key-item.cc
index dcddc27c7498bb2ede2d638770c79e29c869cd66..b3fe56c1956d449afb892d4aeefa23eda6608332 100644 (file)
@@ -12,8 +12,9 @@
 #include "key-item.hh"
 #include "molecule.hh"
 #include "paper-def.hh"
-#include "lookup.hh"
+#include "font-interface.hh"
 #include "staff-symbol-referencer.hh"
+#include "lookup.hh"
 
 /*
   FIXME: too much hardcoding here.
@@ -27,12 +28,12 @@ const int SHARP_TOP_PITCH=4; /*  ais and bis typeset in lower octave */
   the thinking to other parties.
  */
 int
-Key_item::calculate_position(Score_element *ki, SCM pair) 
+Key_item::calculate_position(Grob *ki, SCM pair) 
 {
   int p = gh_scm2int (gh_car (pair));
   int a = gh_scm2int (gh_cdr (pair));  
-  int c0p = gh_scm2int (ki->get_elt_property ("c0-position"));
-  if (to_boolean (ki->get_elt_property ("multi-octave")))
+  int c0p = gh_scm2int (ki->get_grob_property ("c0-position"));
+  if (to_boolean (ki->get_grob_property ("multi-octave")))
     {
       return p + c0p;
     }
@@ -75,12 +76,12 @@ MAKE_SCHEME_CALLBACK(Key_item,brew_molecule,1);
 SCM
 Key_item::brew_molecule (SCM smob)
 {
-  Score_element*me =unsmob_element (smob);
+  Grob*me =unsmob_element (smob);
 
 
   Real inter = Staff_symbol_referencer::staff_space (me)/2.0;
   
-  SCM newas = me->get_elt_property ("new-accidentals");  
+  SCM newas = me->get_grob_property ("new-accidentals");  
   Molecule mol;
   /*
     SCM lists are stacks, so we work from right to left, ending with
@@ -89,7 +90,7 @@ Key_item::brew_molecule (SCM smob)
   for (SCM s = newas; gh_pair_p (s); s = gh_cdr (s))
     {
       int a = gh_scm2int (gh_cdar (s));
-      Molecule m = me->lookup_l ()->afm_find ("accidentals-" + to_str (a));
+      Molecule m = Font_interface::get_default_font (me)->find_by_name ("accidentals-" + to_str (a));
       m.translate_axis (calculate_position(me, gh_car (s)) * inter, Y_AXIS);
       mol.add_at_edge (X_AXIS, LEFT, m, 0);
     }
@@ -97,7 +98,7 @@ Key_item::brew_molecule (SCM smob)
   Item *it = dynamic_cast<Item*> (me) ;
   if (it->break_status_dir () != RIGHT)
     {
-      SCM old = me->get_elt_property ("old-accidentals");
+      SCM old = me->get_grob_property ("old-accidentals");
       /*
        Add half a space between  cancellation and key sig.
 
@@ -106,7 +107,7 @@ Key_item::brew_molecule (SCM smob)
       Interval x(0, inter);
       Interval y(0,0);
 
-      mol.add_at_edge (X_AXIS, LEFT, me->lookup_l()->blank (Box(x,y)),0);
+      mol.add_at_edge (X_AXIS, LEFT, Lookup::blank (Box(x,y)),0);
       
       for (; gh_pair_p (old); old = gh_cdr (old))
         {
@@ -121,7 +122,7 @@ Key_item::brew_molecule (SCM smob)
                
          if (found == SCM_EOL || gh_cdr (found) != gh_cdar (old))
            {
-              Molecule m =me->lookup_l ()->afm_find ("accidentals-0");
+              Molecule m =Font_interface::get_default_font (me)->find_by_name ("accidentals-0");
 
               m.translate_axis (calculate_position (me, gh_car (old)) * inter, Y_AXIS);
               mol.add_at_edge (X_AXIS, LEFT, m,0);     
@@ -129,7 +130,7 @@ Key_item::brew_molecule (SCM smob)
         }
     }
 
-  return mol.create_scheme();
+  return mol.smobbed_copy();
 }
 
 
@@ -137,13 +138,13 @@ Key_item::brew_molecule (SCM smob)
 
 
 bool
-Key_item::has_interface (Score_element*m)
+Key_item::has_interface (Grob*m)
 {
   return m && m->has_interface (ly_symbol2scm ("key-signature-interface"));
 }
 
 void
-Key_item::set_interface (Score_element*m)
+Key_item::set_interface (Grob*m)
 {
   m->set_interface (ly_symbol2scm ("key-signature-interface"));
 }