Index: branches/gui/src/lib/math/rect2D.cc
===================================================================
--- branches/gui/src/lib/math/rect2D.cc	(revision 7914)
+++ branches/gui/src/lib/math/rect2D.cc	(revision 7915)
@@ -72,24 +72,46 @@
 }
 
+/**
+ * @brief compares two rectanles.
+ * @param rect the rectangle to compare
+ * @returns true if the two rectangles are the same
+ */
 bool Rect2D::operator==(const Rect2D& rect) const
 {
   return (this->_topLeft == rect._topLeft &&
-      this->_bottomRight == rect._bottomRight);
-}
-
+          this->_bottomRight == rect._bottomRight);
+}
+
+/**
+ * @brief negative compares two rectanles.
+ * @param rect the rectangle to compare
+ * @returns true if the two rectangles are different
+ */
 bool Rect2D::operator!=(const Rect2D& rect) const
 {
   return (this->_topLeft != rect._topLeft ||
-      this->_bottomRight != rect._bottomRight);
-}
-
-
+          this->_bottomRight != rect._bottomRight);
+}
+
+/**
+ * @brief adds two rectangles together
+ * @param rect the rectagle to be added
+ * @returns a Rectangle, where both are added together.
+ *
+ * @note since adding rectangles does not make sense generally, here a description:
+ * adds toplefts and botomrights
+ */
 Rect2D Rect2D::operator+(const Rect2D& rect) const
-  {
-    return Rect2D(this->_topLeft + rect._topLeft,
-                  this->_bottomRight + rect._bottomRight);
-  }
-
-
+{
+  return Rect2D(this->_topLeft + rect._topLeft,
+                this->_bottomRight + rect._bottomRight);
+}
+
+
+/**
+ * @brief adds two rectangles together
+ * @param rect the rectagle to be added to this one
+ * @returns a Rectangle, where both are added together.
+ */
 Rect2D& Rect2D::operator+=(const Rect2D& rect)
 {
@@ -100,4 +122,9 @@
 
 
+/**
+ * @brief subracts two rectangles from each other
+ * @param rect the rectagle to be substracted from this one
+ * @returns a Rectangle, where both are substracted from one another.
+ */
 Rect2D Rect2D::operator-(const Rect2D& rect) const
 {
@@ -106,4 +133,9 @@
 }
 
+/**
+ * @brief subracts two rectangles from each other
+ * @param rect the rectagle to be substracted from this one
+ * @returns a Rectangle, where both are substracted from one another.
+ */
 Rect2D& Rect2D::operator-=(const Rect2D& rect)
 {
@@ -113,9 +145,20 @@
 }
 
+/**
+ * @brief intersects two Rectangles.
+ * @see intersection .
+ * @param rect the Rectangle to intersect with this one.
+ * @returns the intersection Region.
+ */
 Rect2D Rect2D::operator&(const Rect2D& rect) const
-  {
-    return this->intersection(rect);
-  }
-
+{
+  return this->intersection(rect);
+}
+
+/**
+ * @brief intersects two Rectangles and assigns result to this one.
+ * @param rect the Rectangle to intersect with this one.
+ * @returns the intersection Region.
+ */
 Rect2D& Rect2D::operator&=(const Rect2D& rect)
 {
@@ -123,4 +166,7 @@
 }
 
+/**
+ * TODO coment/implement
+ */
 Rect2D Rect2D::operator*(const Vector2D& scaling) const
 {
@@ -129,5 +175,10 @@
 }
 
-
+/**
+ * @brief sets the width of the Rectangle
+ * @param width the new width of the Rectangle
+ *
+ * the rectangle will be resized from the top left corner out.
+ */
 void Rect2D::setWidth(float width)
 {
@@ -136,4 +187,10 @@
 
 
+/**
+ * @brief sets the height of the Rectangle
+ * @param height the new height of the Rectangle
+ *
+ * the rectangle will be resized from the top left corner out.
+ */
 void Rect2D::setHeight(float height)
 {
@@ -141,4 +198,10 @@
 }
 
+/**
+ * @brief sets the size of the Rectangle
+ * @param width the new width of the Rectangle.
+ * @param height the new height of the Rectangle.
+ * the rectangle will be resized from the top left corner out.
+ */
 void Rect2D::setSize(float width, float height)
 {
@@ -146,4 +209,10 @@
 }
 
+
+/**
+ * @brief sets the size of the Rectangle
+ * @param size the new size of the Rectangle.
+ * the rectangle will be resized from the top left corner out.
+ */
 void Rect2D::setSize(const Vector2D& size)
 {
@@ -151,4 +220,9 @@
 }
 
+/**
+ * @brief sets the new Center
+ * @param center the center to move the Rectangle to.
+ * moves the Rectangle from its current center to the new Center
+ */
 void Rect2D::setCenter(const Vector2D& center)
 {
@@ -156,4 +230,8 @@
 }
 
+/**
+ * @brief scales the Rectangle from topLeft out.
+ * @param x: the scale factor in x direction
+ */
 void Rect2D::scaleX(float x)
 {
@@ -161,4 +239,8 @@
 }
 
+/**
+ * @brief scales the Rectangle from topLeft out.
+ * @param y: the scale factor in y direction
+ */
 void Rect2D::scaleY(float y)
 {
@@ -166,4 +248,9 @@
 }
 
+/**
+ * @brief scales the Rectangle from topLeft out.
+ * @param x: the scale factor in x direction
+ * @param y: the scale factor in y direction
+ */
 void Rect2D::scale(float x, float y)
 {
@@ -171,4 +258,8 @@
 }
 
+/**
+ * @brief scales the Rectangle from topLeft out.
+ * @param v: the scale factors.
+ */
 void Rect2D::scale(const Vector2D& v)
 {
@@ -177,4 +268,9 @@
 }
 
+/**
+ * @brief scales the Rectangle from the Center out.
+ * @param x: the scale factor in x-direction.
+ * @param y: the scale factor in y-direction.
+ */
 void Rect2D::scaleCentered(float x, float y)
 {
@@ -182,4 +278,9 @@
 }
 
+
+/**
+ * @brief scales the Rectangle from the Center out.
+ * @param v: the scale factors.
+ */
 void Rect2D::scaleCentered(const Vector2D& v)
 {
@@ -187,4 +288,8 @@
 }
 
+/**
+ * @brief moves the Rectangle
+ * @param x the amount to move in x.
+ */
 void Rect2D::moveX(float x)
 {
@@ -193,4 +298,8 @@
 }
 
+/**
+ * @brief moves the Rectangle
+ * @param y the amount to move in y.
+ */
 void Rect2D::moveY(float y)
 {
@@ -198,4 +307,19 @@
   this->_bottomRight.y += y;
 }
+
+/**
+ * @brief moves the Rectangle
+ * @param x the amount to move in x.
+ * @param y the amount to move in y.
+ */
+void Rect2D::move(float x, float y)
+{
+  this->move(Vector2D(x, y));
+}
+
+/**
+ * @brief moves the Rectangle
+ * @param v the amount to move.
+ */
 void Rect2D::move(const Vector2D& v)
 {
@@ -204,4 +328,7 @@
 }
 
+/**
+ * @brief swaps top and bottom.
+ */
 void Rect2D::swapTopBottom()
 {
@@ -211,4 +338,7 @@
 }
 
+/**
+ * @brief swaps left and right.
+ */
 void Rect2D::swapLeftRight()
 {
@@ -218,5 +348,9 @@
 }
 
-
+/**
+ * @brief normalizes the Rectangle.
+ *
+ * Normalizing a Rectangle means, that the top is above bottom, and left is left of right afterwards :)
+ */
 void Rect2D::normalize()
 {
@@ -227,4 +361,10 @@
 }
 
+/**
+ * @brief normalizes the Rectangle.
+ * @returns the normalized version of this rectangle.
+ *
+ * Normalizing a Rectangle means, that the top is above bottom, and left is left of right afterwards :)
+ */
 Rect2D Rect2D::normalized() const
 {
@@ -234,5 +374,9 @@
 }
 
-
+/**
+ * @brief The intersection of two Rectangles is calculated and returned.
+ * @param intersector the Rectangle to intersect with this one.
+ * @return the intersection region.
+ */
 Rect2D Rect2D::intersection(const Rect2D& intersector) const
 {
@@ -240,28 +384,55 @@
 }
 
+/**
+ * @brief checks if the intersection of two Rectangles is not empty.
+ */
 bool Rect2D::intersects(const Rect2D& intersector) const
-  {
+{
 #warning implement
 
-  }
+}
+
+/**
+ * @brief make an Extensive join of two rectangles.
+ * @param rect the rectangle to unite with this one.
+ * @returns the united rectangle
+ */
 Rect2D Rect2D::unite(const Rect2D& rect)
-  {
+{
 #warning implement
-  }
+
+}
+
+/**
+ * @brief checks if rect is inside of this Rectangle.
+ * @param rect The Rectangle that should be inside of this one.
+ * @returns tru if it is.
+ */
 bool Rect2D::contains(const Rect2D& rect) const
-  {
-    return (this->top() <= rect.top() &&
-        this->bottom() >= rect.bottom() &&
-        this->left() <= rect.left() &&
-        this->right() >= rect.right());
-  }
+{
+  return (this->top() <= rect.top() &&
+          this->bottom() >= rect.bottom() &&
+          this->left() <= rect.left() &&
+          this->right() >= rect.right());
+}
+
+/**
+ * @param point the point to check if it is inside.
+ * @returns true if the point is inside of this Rectangle.
+ */
 bool Rect2D::contains(const Vector2D& point) const
-  {
-    return (this->top() <= point.y &&
-        this->bottom() >= point.y &&
-        this->left() <= point.x &&
-        this->right() >= point.x);
-  }
-
+{
+  return (this->top() <= point.y &&
+          this->bottom() >= point.y &&
+          this->left() <= point.x &&
+          this->right() >= point.x);
+}
+
+/**
+ * @brief slerps this Rectangle to rect.
+ * @param rect the rectangle to slerp to.
+ * @param value how much to slerp to [0:stay, 1:go there]
+ * @returns reference to this.
+ */
 const Rect2D& Rect2D::slerp(const Rect2D& rect, float value)
 {
Index: branches/gui/src/lib/math/rect2D.h
===================================================================
--- branches/gui/src/lib/math/rect2D.h	(revision 7914)
+++ branches/gui/src/lib/math/rect2D.h	(revision 7915)
@@ -102,4 +102,5 @@
   void moveX(float x);
   void moveY(float y);
+  void move(float x, float y);
   void move(const Vector2D& v);
 
