]> git.donarmstrong.com Git - lilypond.git/blobdiff - lily/atom.cc
release: 1.3.19
[lilypond.git] / lily / atom.cc
index 0d8eb44f44cc59ad9130ff6625988b2b838a771c..eccf3b984351df7181b9ef13405cff5127a504e7 100644 (file)
@@ -3,50 +3,36 @@
 
   source file of the GNU LilyPond music typesetter
 
-  (c) 1997 Han-Wen Nienhuys <hanwen@stack.nl>
+  (c)  1997--2000 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
-{
-#ifndef NPRINT
-    mtor << "texstring: " <<sym_.tex<<"\n";    
-#endif
-}
-
-Box
-Atom::extent() const
+Atom::Atom(SCM s)
 {
-    Box b( sym_.dim);
-    b.translate(off_);
-    return b;
+  func_ = s;
 }
 
-Atom::Atom(Symbol s)
+void
+Atom::fontify (Font_metric * met)
 {
-    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);
 }