Introduce Widget and Screen classes

This commit is contained in:
2021-01-10 00:32:11 +01:00
parent 6ecf2011bc
commit d173eb0913
14 changed files with 153 additions and 42 deletions

33
src/Screen.cpp Normal file
View File

@@ -0,0 +1,33 @@
#include "Screen.h"
Screen::Screen(Framebuffer *framebuffer, ShaderProgram *shaderProgram) :
framebuffer(framebuffer), shaderProgram(shaderProgram)
{
}
Screen::~Screen()
{
}
void Screen::addWidget(Widget* widget)
{
widgets.push_back(widget);
}
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);
}
framebuffer->unbind();
framebuffer->render();
framebuffer->setExposureCorrection(true);
}