aboutsummaryrefslogtreecommitdiffstats
path: root/src/utils
diff options
context:
space:
mode:
Diffstat (limited to 'src/utils')
-rw-r--r--src/utils/dimension.cpp60
-rw-r--r--src/utils/dimension.hpp48
-rw-r--r--src/utils/rectangle.hpp2
3 files changed, 41 insertions, 69 deletions
diff --git a/src/utils/dimension.cpp b/src/utils/dimension.cpp
deleted file mode 100644
index f83636ff..00000000
--- a/src/utils/dimension.cpp
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * UltraStar Deluxe - Karaoke Game
- *
- * UltraStar Deluxe is the legal property of its developers, whose names
- * are too numerous to list here. Please refer to the COPYRIGHT
- * file distributed with this source distribution.
- *
- * 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; see the file COPYING. If not, write to
- * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
- * Boston, MA 02110-1301, USA.
- *
- * $URL$
- * $Id$
- */
-
-#include "dimension.hpp"
-
-namespace usdx
-{
- Dimension::Dimension(unsigned int width, unsigned int height) :
- width(width), height(height)
- {
- }
-
- Dimension::Dimension(const Dimension& dimension) :
- width(dimension.width), height(dimension.height)
- {
- }
-
- unsigned int Dimension::get_width(void) const
- {
- return width;
- }
-
- void Dimension::set_width(unsigned int width)
- {
- this->width = width;
- }
-
- unsigned int Dimension::get_height(void) const
- {
- return height;
- }
-
- void Dimension::set_height(unsigned int height)
- {
- this->height = height;
- }
-};
diff --git a/src/utils/dimension.hpp b/src/utils/dimension.hpp
index 4518fbb8..788adbf9 100644
--- a/src/utils/dimension.hpp
+++ b/src/utils/dimension.hpp
@@ -29,20 +29,52 @@
namespace usdx
{
+ template <class T>
class Dimension
{
private:
- unsigned int width;
- unsigned int height;
+ T width;
+ T height;
+
public:
- Dimension(unsigned int width, unsigned int height);
- Dimension(const Dimension& dimension);
+ Dimension(T width, T height) :
+ width(width), height(height)
+ {
+ }
+
+ Dimension(const Dimension& dimension) :
+ width(dimension.width), height(dimension.height)
+ {
+ }
+
+ Dimension<T>& operator=(const Dimension<T>& dimension)
+ {
+ width = dimension.width;
+ height = dimension.height;
+ return *this;
+ }
+
+
+
+ T get_width(void) const
+ {
+ return width;
+ }
+
+ void set_width(const T& value)
+ {
+ width = value;
+ }
- unsigned int get_width(void) const;
- void set_width(unsigned int width);
+ T get_height(void) const
+ {
+ return height;
+ }
- unsigned int get_height(void) const;
- void set_height(unsigned int height);
+ void set_height(const T& value)
+ {
+ height = value;
+ }
};
};
diff --git a/src/utils/rectangle.hpp b/src/utils/rectangle.hpp
index e2fddc78..016e86d3 100644
--- a/src/utils/rectangle.hpp
+++ b/src/utils/rectangle.hpp
@@ -56,7 +56,7 @@ namespace usdx
{
}
- Rectangle(const Point<T>& point1, const Dimension& dimension) :
+ Rectangle(const Point<T>& point1, const Dimension<T>& dimension) :
point1(point1),
point2(point1.get_x() + dimension.get_width(),
point1.get_y() + dimension.get_height())