From: Ingo Ruhnke Date: Sun, 6 Dec 2009 05:38:03 +0000 (+0000) Subject: Added basic integer rectangle class X-Git-Url: https://git.verplant.org/?a=commitdiff_plain;h=59d22a63eef2307c457c8a7f0357a7228d9d0bb3;p=supertux.git Added basic integer rectangle class SVN-Revision: 6181 --- diff --git a/src/math/rect.hpp b/src/math/rect.hpp new file mode 100644 index 000000000..322049539 --- /dev/null +++ b/src/math/rect.hpp @@ -0,0 +1,55 @@ +// SuperTux +// Copyright (C) 2009 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 . + +#ifndef HEADER_SUPERTUX_MATH_RECT_HPP +#define HEADER_SUPERTUX_MATH_RECT_HPP + +#include "math/size.hpp" + +class Rect +{ +public: + int left; + int right; + int top; + int bottom; + +public: + Rect(int left_, int top_, int right_, int top_) : + left(left_), + top(top_), + right(right_), + top(top_) + {} + + Rect(int left_, int top_, const Size& size) : + left(left_), + top(top_), + right(left_ + size.width), + bottom(bottom_ + size.width) + {} + + int get_width() const { return right - left; } + int get_height() const { return bottom - top; } + +private: + Rect(const Rect&); + Rect& operator=(const Rect&); +}; + +#endif + +/* EOF */