source file of the GNU LilyPond music typesetter
- (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--2000 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef ATOM_HH
#include "lily-proto.hh"
#include "lily-guile.hh"
-#if 0
-/// a symbol which can be translated, and freely copied
class Atom {
- static long smob_tag_;
-
- static SCM smob_mark (SCM);
- static scm_sizet smob_free (SCM);
- static int smob_display (SCM, SCM, scm_print_state*);
- Atom (SCM s);
- SCM make_smob () const;
-public:
Offset off_;
-
- static SCM make_atom (SCM outputfunc);
- SCM copy_self () const;
- static Atom *atom_l (SCM);
-
- /// Is #obj# a Foo?
- static bool Atom_b(SCM obj);
- static void init_smob ();
-
- SCM func_;
- SCM font_;
-};
-
-#else
-
-class Atom {
+ friend class Molecule;
+ friend class Paper_outputter;
public:
Atom (SCM s);
- Offset off_;
+
/*
SCM expression that (when evaluated) gives a TeX string
representing a musical notation symbol. */
Protected_scm func_;
- Protected_scm font_;
+ void fontify (Font_metric*);
};
-#endif
#endif