aboutsummaryrefslogtreecommitdiffstats
path: root/src/base
diff options
context:
space:
mode:
authorAlexander Sulfrian <alexander@sulfrian.net>2010-02-13 14:00:37 +0100
committerAlexander Sulfrian <alexander@sulfrian.net>2013-01-05 17:17:47 +0100
commitb5ead1a51f547e10b13365acf5e2a1e6e007a5a8 (patch)
treef6f3fbb63a4fca6c529d3c25ba4eb4d3d20a3138 /src/base
parenta073f3e02752b0483e6a9301cbf02695239c7783 (diff)
downloadusdx-b5ead1a51f547e10b13365acf5e2a1e6e007a5a8.tar.gz
usdx-b5ead1a51f547e10b13365acf5e2a1e6e007a5a8.tar.xz
usdx-b5ead1a51f547e10b13365acf5e2a1e6e007a5a8.zip
added Point, Point3D, Dimension, Rectangle, RgbColor and Texture classes
Diffstat (limited to 'src/base')
-rw-r--r--src/base/texture_colorized.cpp32
-rw-r--r--src/base/texture_colorized.hpp52
-rw-r--r--src/base/texture_plain.cpp32
-rw-r--r--src/base/texture_plain.hpp62
-rw-r--r--src/base/texture_transparent.cpp32
-rw-r--r--src/base/texture_transparent.hpp53
6 files changed, 263 insertions, 0 deletions
diff --git a/src/base/texture_colorized.cpp b/src/base/texture_colorized.cpp
new file mode 100644
index 00000000..89e3ae54
--- /dev/null
+++ b/src/base/texture_colorized.cpp
@@ -0,0 +1,32 @@
+/*
+ * 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 "texture_colorized.hpp"
+
+namespace usdx
+{
+
+};
diff --git a/src/base/texture_colorized.hpp b/src/base/texture_colorized.hpp
new file mode 100644
index 00000000..56b06112
--- /dev/null
+++ b/src/base/texture_colorized.hpp
@@ -0,0 +1,52 @@
+/*
+ * 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$
+ */
+
+#ifndef TEXTURE_COLORIZED_HPP
+#define TEXTURE_COLORIZED_HPP
+
+#include "texture_transparent.hpp"
+#include "utils/rgb_color.hpp"
+
+namespace usdx
+{
+ /**
+ * This class represents a texture like TextureTransparent but the hue
+ * value from the HSV color model is replaced with a different value.
+ * @see: TextureTransparent
+ */
+ class TextureColorized : public TextureTransparent
+ {
+ private:
+ RgbColor color;
+ float intensity;
+
+ public:
+ TextureColorized();
+ virtual ~TextureColorized();
+ };
+};
+
+#endif
diff --git a/src/base/texture_plain.cpp b/src/base/texture_plain.cpp
new file mode 100644
index 00000000..262ff766
--- /dev/null
+++ b/src/base/texture_plain.cpp
@@ -0,0 +1,32 @@
+/*
+ * 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 "texture_plain.hpp"
+
+namespace usdx
+{
+
+};
diff --git a/src/base/texture_plain.hpp b/src/base/texture_plain.hpp
new file mode 100644
index 00000000..3fc76072
--- /dev/null
+++ b/src/base/texture_plain.hpp
@@ -0,0 +1,62 @@
+/*
+ * 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$
+ */
+
+#ifndef TEXTURE_PLAIN_HPP
+#define TEXTURE_PLAIN_HPP
+
+#include <boost/filesystem.hpp>
+#include <GL/gl.h>
+#include "utils/point_3d.hpp"
+#include "utils/dimension.hpp"
+#include "utils/rectangle.hpp"
+
+namespace usdx
+{
+ class TexturePlain
+ {
+ private:
+ GLuint tex_num;
+ Point3D position;
+ Dimension size;
+
+ Dimension scale; ///< for dynamic scaling
+ float rotation; ///< radiant (0 - 2*pi)
+
+ Dimension tex; ///< percentage of size to use [0..1]
+ Rectangle tex_rect;
+
+ boost::filesystem::wpath filename; ///< experimental for
+ ///handling cache
+ ///images. maybe it's useful
+ ///for dynamic skins
+
+ public:
+ TexturePlain();
+ virtual ~TexturePlain();
+ };
+};
+
+#endif
diff --git a/src/base/texture_transparent.cpp b/src/base/texture_transparent.cpp
new file mode 100644
index 00000000..77aa8a14
--- /dev/null
+++ b/src/base/texture_transparent.cpp
@@ -0,0 +1,32 @@
+/*
+ * 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 "texture_transparent.hpp"
+
+namespace usdx
+{
+
+};
diff --git a/src/base/texture_transparent.hpp b/src/base/texture_transparent.hpp
new file mode 100644
index 00000000..9cb8bba4
--- /dev/null
+++ b/src/base/texture_transparent.hpp
@@ -0,0 +1,53 @@
+/*
+ * 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$
+ */
+
+#ifndef TEXTURE_TRANSPARENT_HPP
+#define TEXTURE_TRANSPARENT_HPP
+
+#include "texture_plain.hpp"
+
+namespace usdx
+{
+ /**
+ * This class represents a texture like TexturePlain but with the
+ * ability to set a alpha value to paint this texture transparent.
+ * @see: TexturePlain
+ */
+ class TextureTransparent : public TexturePlain
+ {
+ private:
+ float alpha;
+
+ public:
+ TextureTransparent();
+ virtual ~TextureTransparent();
+
+ float get_alpha(void) const;
+ void set_alpha(float alpha);
+ };
+};
+
+#endif