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