Introduce Menu class

This commit is contained in:
2021-01-10 15:37:16 +01:00
parent d173eb0913
commit 3387ece49a
7 changed files with 134 additions and 36 deletions

View File

@@ -1,17 +1,34 @@
#include "Screen.h"
Screen::Screen(Framebuffer *framebuffer, ShaderProgram *shaderProgram) :
framebuffer(framebuffer), shaderProgram(shaderProgram)
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;
}
default:
break;
}
}
Screen::~Screen()
{
// Iterate over Widgets and Textures to delete all of them
for(auto it = widgets.begin(); it != widgets.end(); it++) {
delete *it;
}
for(auto it = textures.begin(); it != textures.end(); it++) {
delete *it;
}
}
void Screen::addWidget(Widget* widget)
void Screen::addWidget(Widget *widget)
{
widgets.push_back(widget);
}