X-Git-Url: https://git.verplant.org/?a=blobdiff_plain;ds=sidebyside;f=src%2Fmath%2Frect.hpp;h=2c30258b7515c5b5a48e00ae38dd387f1ed84bfb;hb=1dbdd25460227fc9e6f8942dadad741f67151540;hp=03728ea40a81bfddea55a39e9af9bd6da050e4d1;hpb=5b7f9214cb929399f1a855ef5807018a9447d510;p=supertux.git diff --git a/src/math/rect.hpp b/src/math/rect.hpp index 03728ea40..2c30258b7 100644 --- a/src/math/rect.hpp +++ b/src/math/rect.hpp @@ -1,3 +1,22 @@ +// $Id$ +// +// SuperTux +// Copyright (C) 2006 Matthias Braun +// +// 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 2 +// 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, write to the Free Software +// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + #ifndef __RECT_H__ #define __RECT_H__ @@ -26,6 +45,18 @@ public: assert(p1.x <= p2.x && p1.y <= p2.y); } + float get_left() const + { return p1.x; } + + float get_right() const + { return p2.x; } + + float get_top() const + { return p1.y; } + + float get_bottom() const + { return p2.y; } + float get_width() const { return p2.x - p1.x; } @@ -52,7 +83,11 @@ public: { set_width(width); set_height(height); - } + } + Vector get_size() + { + return Vector(get_width(), get_height()); + } void move(const Vector& v) { @@ -60,11 +95,11 @@ public: p2 += v; } - bool inside(const Vector& v) const + bool contains(const Vector& v) const { return v.x >= p1.x && v.y >= p1.y && v.x < p2.x && v.y < p2.y; } - bool inside(const Rect& other) const + bool contains(const Rect& other) const { if(p1.x >= other.p2.x || other.p1.x >= p2.x) return false; @@ -73,7 +108,7 @@ public: return true; } - + // leave these 2 public to safe the headaches of set/get functions for such // simple things :) @@ -84,4 +119,3 @@ public: }; #endif -