aboutsummaryrefslogtreecommitdiffstats
path: root/src/menu/background_color.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/menu/background_color.cpp')
-rw-r--r--src/menu/background_color.cpp56
1 files changed, 49 insertions, 7 deletions
diff --git a/src/menu/background_color.cpp b/src/menu/background_color.cpp
index aa8a90d2..bb579f06 100644
--- a/src/menu/background_color.cpp
+++ b/src/menu/background_color.cpp
@@ -25,23 +25,65 @@
*/
#include "background_color.hpp"
-#include <GL/gl.h>
+#include "drawable_control.hpp"
namespace usdx
{
- BackgroundColor::BackgroundColor(RgbColor &color) :
- color(color)
+ BackgroundColor::BackgroundColor(const DrawableControl &control) :
+ Background(control)
{
+ this->color[0] = 0;
+ this->color[1] = 0;
+ this->color[2] = 0;
+ this->color[3] = 0;
+ this->color[4] = 0;
+ this->color[5] = 0;
+ this->color[6] = 0;
+ this->color[7] = 0;
+ this->color[8] = 0;
+ this->color[9] = 0;
+ this->color[10] = 0;
+ this->color[11] = 0;
}
- BackgroundColor::BackgroundColor(void) :
- color(0, 0, 0)
+ BackgroundColor::BackgroundColor(const DrawableControl &control,
+ const RgbColor &color) :
+ Background(control)
{
+ this->color[0] = color.get_red();
+ this->color[1] = color.get_green();
+ this->color[2] = color.get_blue();
+ this->color[3] = color.get_red();
+ this->color[4] = color.get_green();
+ this->color[5] = color.get_blue();
+ this->color[6] = color.get_red();
+ this->color[7] = color.get_green();
+ this->color[8] = color.get_blue();
+ this->color[9] = color.get_red();
+ this->color[10] = color.get_green();
+ this->color[11] = color.get_blue();
}
void BackgroundColor::draw()
{
- glClearColor(color.get_red(), color.get_green(), color.get_blue(), 1.0f);
- glClear(GL_COLOR_BUFFER_BIT);
+ this->vertices[0] = 0;
+ this->vertices[1] = get_parent().get_height();
+ this->vertices[2] = get_parent().get_width();
+ this->vertices[3] = get_parent().get_height();
+ this->vertices[4] = get_parent().get_width();
+ this->vertices[5] = 0;
+ this->vertices[6] = 0;
+ this->vertices[7] = 0;
+
+ glEnableClientState(GL_VERTEX_ARRAY);
+ glEnableClientState(GL_COLOR_ARRAY);
+
+ glVertexPointer(2, GL_INT, 0, vertices);
+ glColorPointer(3, GL_UNSIGNED_BYTE, 0, color);
+
+ glDrawArrays(GL_QUADS, 0, 4);
+
+ glDisableClientState(GL_VERTEX_ARRAY);
+ glDisableClientState(GL_COLOR_ARRAY);
}
};