/*
offset.hh -- part of GNU LilyPond
- (c) 1996--2005 Han-Wen Nienhuys
+ (c) 1996--2006 Han-Wen Nienhuys
*/
#ifndef OFFSET_HH
#define OFFSET_HH
-#include "axes.hh"
+#include "axis.hh"
+#include "std-string.hh"
#include "string.hh"
+#include "real.hh"
+class Offset;
Offset complex_multiply (Offset, Offset);
Offset complex_divide (Offset, Offset);
Offset complex_exp (Offset);
return *this;
}
+ Offset &operator /= (Real a)
+ {
+ (*this) *= 1/a;
+ return *this;
+ }
+
Offset &operator *= (Real a)
{
(*this)[X_AXIS] *= a;
coordinate_a_[X_AXIS] = coordinate_a_[Y_AXIS] = 0.0;
}
- String to_string () const;
+ Std_string to_string () const;
Offset &mirror (Axis a)
{
Real arg () const;
Real length () const;
-
+ bool is_sane () const;
Offset operator *= (Offset z2)
{
*this = complex_multiply (*this, z2);
return o2;
}
+inline Offset
+operator / (Offset o1, Real a)
+{
+ o1 /= a;
+ return o1;
+}
+
inline Offset
operator * (Offset o1, Real o2)
{