source file of the GNU LilyPond music typesetter
- (c) 1997--1998 Han-Wen Nienhuys <hanwen@cs.uu.nl>
+ (c) 1997--1999 Han-Wen Nienhuys <hanwen@cs.uu.nl>
*/
#ifndef ATOM_HH
#define ATOM_HH
-#include "lily-guile.hh"
+#include "protected-scm.hh"
#include "string.hh"
#include "box.hh"
#include "lily-proto.hh"
+#include "lily-guile.hh"
-/// a symbol which can be translated, and freely copied
class Atom {
- Offset off_;
public:
- // urg, only used as a temp buffer
- String str_;
- String font_;
- SCM lambda_;
- Box dim_;
-
- Offset offset () const;
- String str() const; // for printing.
- Atom (String, Box);
- Atom ();
- void translate (Offset o);
- void translate_axis (Real r,Axis a);
- /// how big is #this#?
- Box extent() const;
- void print() const;
- bool check_infinity_b () const;
- bool empty() const;
+ 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_;
+
+ /*
+ TODO: move this into the font_ field.
+ */
+ Protected_scm magn_;
};
+
+
#endif