Implement Json loading for screens and fix a bug in widget-creation
This commit is contained in:
@@ -1,20 +1,14 @@
|
||||
#include "Screen.h"
|
||||
|
||||
Screen::Screen(screenType p_type, Framebuffer *framebuffer, ShaderProgram *shaderProgram) :
|
||||
type(p_type), framebuffer(framebuffer), shaderProgram(shaderProgram)
|
||||
{
|
||||
switch(type) {
|
||||
case loadingScreen: {
|
||||
Texture *temp_loadingScreenTex = new Texture("res/textures/loading.png", textureType::texture_diffuse);
|
||||
textures.push_back(temp_loadingScreenTex);
|
||||
Widget *temp_loadingScreenWidget = new Widget(temp_loadingScreenTex, 0.f, 0.f, 1.f, 1.f);
|
||||
widgets.push_back(temp_loadingScreenWidget);
|
||||
break;
|
||||
}
|
||||
uint32_t Screen::id_counter = 0;
|
||||
|
||||
default:
|
||||
break;
|
||||
}
|
||||
Screen::Screen(std::string &name, std::vector<Widget*> widgets, Framebuffer *framebuffer, ShaderProgram *shaderProgram) :
|
||||
unique_name(name),
|
||||
framebuffer(framebuffer),
|
||||
shaderProgram(shaderProgram),
|
||||
widgets(widgets)
|
||||
{
|
||||
id = id_counter++;
|
||||
}
|
||||
|
||||
Screen::~Screen()
|
||||
@@ -28,6 +22,11 @@ Screen::~Screen()
|
||||
}
|
||||
}
|
||||
|
||||
std::string Screen::getUniqueName()
|
||||
{
|
||||
return unique_name;
|
||||
}
|
||||
|
||||
void Screen::addWidget(Widget *widget)
|
||||
{
|
||||
widgets.push_back(widget);
|
||||
@@ -37,7 +36,6 @@ void Screen::draw()
|
||||
{
|
||||
framebuffer->setExposureCorrection(false);
|
||||
framebuffer->bind();
|
||||
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
|
||||
for(auto it = widgets.begin(); it != widgets.end(); it++) {
|
||||
(*it)->draw(shaderProgram);
|
||||
|
||||
Reference in New Issue
Block a user