Added constructor te Rectf() that takes a Sizef
authorIngo Ruhnke <grumbel@gmx.de>
Mon, 1 Mar 2010 11:24:30 +0000 (11:24 +0000)
committerIngo Ruhnke <grumbel@gmx.de>
Mon, 1 Mar 2010 11:24:30 +0000 (11:24 +0000)
SVN-Revision: 6482

src/math/rectf.cpp [new file with mode: 0644]
src/math/rectf.hpp

diff --git a/src/math/rectf.cpp b/src/math/rectf.cpp
new file mode 100644 (file)
index 0000000..69bf0ac
--- /dev/null
@@ -0,0 +1,27 @@
+//  SuperTux
+//  Copyright (C) 2010 Ingo Ruhnke <grumbel@gmx.de>
+//
+//  This program is free software: you can redistribute it and/or modify
+//  it under the terms of the GNU General Public License as published by
+//  the Free Software Foundation, either version 3 of the License, or
+//  (at your option) any later version.
+//
+//  This program is distributed in the hope that it will be useful,
+//  but WITHOUT ANY WARRANTY; without even the implied warranty of
+//  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+//  GNU General Public License for more details.
+//
+//  You should have received a copy of the GNU General Public License
+//  along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+#include "math/rectf.hpp"
+
+#include "math/sizef.hpp"
+
+Rectf::Rectf(const Vector& p1_, const Sizef& size) :
+  p1(p1_),
+  p2(p1_.x + size.width, p1_.y + size.height)
+{
+}
+
+/* EOF */
index f9d4565..a0001f1 100644 (file)
@@ -22,6 +22,8 @@
 #include "math/vector.hpp"
 #include "object/anchor_point.hpp"
 
+class Sizef;
+
 /** This class represents a rectangle.
  * (Implementation Note) We're using upper left and lower right point instead of
  * upper left and width/height here, because that makes the collision detection
@@ -35,17 +37,19 @@ public:
     p2()
   { }
 
-  Rectf(const Vector& np1, const Vector& np2)
-    p1(np1), p2(np2)
+  Rectf(const Vector& np1, const Vector& np2) :
+    p1(np1), p2(np2)
   {
   }
 
-  Rectf(float x1, float y1, float x2, float y2)
-    p1(x1, y1), p2(x2, y2)
+  Rectf(float x1, float y1, float x2, float y2) :
+    p1(x1, y1), p2(x2, y2)
   {
     assert(p1.x <= p2.x && p1.y <= p2.y);
   }
 
+  Rectf(const Vector& p1_, const Sizef& size);
+
   float get_left() const
   { return p1.x; }