]> git.donarmstrong.com Git - lilypond.git/blobdiff - flower/include/offset.hh
Merge branch 'master' of git+ssh://jneem@git.sv.gnu.org/srv/git/lilypond
[lilypond.git] / flower / include / offset.hh
index eaefeb26bb5a8a8b19a39df680c2063c929986c7..1995dd2554eed232bf9279396ac044a18c4c44ce 100644 (file)
@@ -1,16 +1,17 @@
 /*
   offset.hh -- part of GNU LilyPond
 
-  (c) 1996--2005 Han-Wen Nienhuys
+  (c) 1996--2007 Han-Wen Nienhuys
 */
 
 #ifndef OFFSET_HH
 #define OFFSET_HH
 
 #include "axis.hh"
-#include "string.hh"
+#include "std-string.hh"
 #include "real.hh"
 
+class Offset;
 Offset complex_multiply (Offset, Offset);
 Offset complex_divide (Offset, Offset);
 Offset complex_exp (Offset);
@@ -67,6 +68,12 @@ public:
     return *this;
   }
 
+  Offset &operator /= (Real a)
+  {
+    (*this) *= 1/a;
+    return *this;
+  }
+
   Offset &operator *= (Real a)
   {
     (*this)[X_AXIS] *= a;
@@ -86,7 +93,7 @@ public:
     coordinate_a_[X_AXIS] = coordinate_a_[Y_AXIS] = 0.0;
   }
 
-  String to_string () const;
+  string to_string () const;
 
   Offset &mirror (Axis a)
   {
@@ -104,6 +111,7 @@ public:
   }
 };
 
+#include "arithmetic-operator.hh"
 IMPLEMENT_ARITHMETIC_OPERATOR (Offset, +);
 IMPLEMENT_ARITHMETIC_OPERATOR (Offset, -);
 IMPLEMENT_ARITHMETIC_OPERATOR (Offset, *);
@@ -115,6 +123,13 @@ operator * (Real o1, Offset o2)
   return o2;
 }
 
+inline Offset
+operator / (Offset o1, Real a)
+{
+  o1 /= a;
+  return o1;
+}
+
 inline Offset
 operator * (Offset o1, Real o2)
 {