X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=lily%2Finclude%2Fmolecule.hh;h=76081729ca0c82361c5ec2e3c02ed61aac67c580;hb=d9b43b93f2c885409bafdb157138158f65cc49aa;hp=99ab0a1f32b7c97f79f9b5d1867a2c4deaab3f87;hpb=c802622f935af83bb791ded58056428d6be31d0a;p=lilypond.git diff --git a/lily/include/molecule.hh b/lily/include/molecule.hh index 99ab0a1f32..76081729ca 100644 --- a/lily/include/molecule.hh +++ b/lily/include/molecule.hh @@ -3,7 +3,7 @@ source file of the GNU LilyPond music typesetter - (c) 1997--2000 Han-Wen Nienhuys + (c) 1997--2002 Han-Wen Nienhuys */ #ifndef MOLECULE_HH #define MOLECULE_HH @@ -37,24 +37,24 @@ Empty molecules have empty dimensions. If add_at_edge is used to init the molecule, we assume that - DIMENSIONS = (Interval(0,0),Interval(0,0) + DIMENSIONS = (Interval (0,0),Interval (0,0) */ class Molecule { Box dim_; SCM expr_; - DECLARE_SIMPLE_SMOBS(Molecule,); + DECLARE_SIMPLE_SMOBS (Molecule,); public: Molecule (Box, SCM s); - Molecule(); + Molecule (); SCM smobbed_copy () const; SCM get_expr () const; /** - Set dimensions to empty, or to (Interval(0,0),Interval(0,0) */ + Set dimensions to empty, or to (Interval (0,0),Interval (0,0) */ void set_empty (bool); void add_at_edge (Axis a, Direction d, const Molecule &m, Real padding); void add_molecule (Molecule const &m); @@ -63,9 +63,9 @@ public: /** align D direction in axis A. - If D == CENTER, then move the dimension(A).center() to (0,0) + If D == CENTER, then move the dimension (A).center () to (0,0) - Else, move so dimension(A)[D] == 0.0 + Else, move so dimension (A)[D] == 0.0 */ void align_to (Axis a, Direction d); @@ -77,11 +77,16 @@ public: codify THIS into a Scheme expression. */ SCM create_scheme () const; - bool empty_b() const; + bool empty_b () const; + + + static SCM ly_get_molecule_extent (SCM mol, SCM axis); + static SCM ly_set_molecule_extent_x (SCM,SCM,SCM); + static SCM ly_molecule_combined_at_edge (SCM,SCM,SCM,SCM,SCM); }; -Molecule *unsmob_molecule (SCM); +DECLARE_UNSMOB(Molecule,molecule); SCM fontify_atom (Font_metric*, SCM atom); Molecule create_molecule (SCM brew_molecule);