]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/atom.cc
release: 1.3.8
[lilypond.git] / lily / atom.cc
index f90625a25f46e610bb53ed5870f301458ca086af..e71f371a3ff75b926adf81c14533d76a4dc1900b 100644 (file)
@@ -3,50 +3,37 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c)  1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
 */
-#include "symbol.hh"
-#include "tex.hh"
+
+#include "atom.hh"
 #include "interval.hh"
-#include "dimen.hh"
 #include "string.hh"
-#include "varray.hh"
+#include "array.hh"
 #include "debug.hh"
+#include "dimensions.hh"
+#include "lookup.hh"
+#include "main.hh"
+#include "global-ctor.hh"
+#include "font-metric.hh"
 
-
-
-void
-Atom::print() const
+Atom::Atom(SCM s)
 {
-    mtor << "texstring: " <<sym_.tex<<"\n";    
+  func_ = s;
 }
 
-Box
-Atom::extent() const
+void
+Atom::fontify (Font_metric * met)
 {
-    Box b( sym_.dim);
-    b.translate(off_);
-    return b;
-}
 
-Atom::Atom(Symbol s)
-{
-    sym_=s;
-}
+  SCM desc = ly_quote_scm (met->description ());
+  SCM font_switch = gh_list (ly_symbol2scm ("select-font"),
+                            desc,
+                            SCM_UNDEFINED);
 
+  SCM f =func_;
+  func_ = gh_list (ly_symbol2scm ("string-append"),
+                  font_switch , f,
+                  SCM_UNDEFINED);
 
-String
-Atom::TeX_string() const
-{
-    /* infinity checks. */
-    assert( abs(off_.x) < 100 CM);
-    assert( abs(off_.y) < 100 CM);
-    
-    // whugh.. Hard coded...
-    String s("\\placebox{%}{%}{%}");
-    Array<String> a;
-    a.push(print_dimen(off_.y));
-    a.push(print_dimen(off_.x));
-    a.push(sym_.tex);
-    return substitute_args(s, a);
 }