From: Ingo Ruhnke Date: Mon, 1 Mar 2010 11:24:30 +0000 (+0000) Subject: Added constructor te Rectf() that takes a Sizef X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=a1bc71e2bcc80d5fc18eb67b74d412b638f6a15a;p=supertux.git Added constructor te Rectf() that takes a Sizef SVN-Revision: 6482 --- diff --git a/src/math/rectf.cpp b/src/math/rectf.cpp new file mode 100644 index 000000000..69bf0ac28 --- /dev/null +++ b/src/math/rectf.cpp @@ -0,0 +1,27 @@ +// SuperTux +// Copyright (C) 2010 Ingo Ruhnke +// +// 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 . + +#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 */ diff --git a/src/math/rectf.hpp b/src/math/rectf.hpp index f9d456593..a0001f17a 100644 --- a/src/math/rectf.hpp +++ b/src/math/rectf.hpp @@ -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; }