Files
prog2/Game/Gui/Screen.cpp
Bram Verhulst d7389411f5 Do stuff
2024-06-04 14:38:46 +02:00

36 lines
877 B
C++

#include "pch.h"
#include "Screen.h"
Screen::Screen(const std::string& filePath, Vector2f pos, Vector2f size, TextureManager* manager): m_Position(pos), m_Size(size) {
if (!filePath.empty()) {
m_Background = manager->GetTexture(filePath);
}
else {
m_Background = nullptr;
}
}
Screen::~Screen() {
for (GuiElement* b : m_Elements) {
delete b;
}
}
void Screen::AddElement(GuiElement* element) {
m_Elements.push_back(element);
}
void Screen::Update(float elapsedSecs) {
for (GuiElement* b : m_Elements) {
b->Update(elapsedSecs);
}
}
void Screen::Draw() const {
if (m_Background != nullptr) { //Incase there is no background
Rectf dest = Rectf(m_Position, m_Size);
Rectf src = Rectf(0, 0, m_Background->GetWidth(), m_Background->GetHeight());
m_Background->Draw(dest, src, false);
}
for (GuiElement* GuiElement : m_Elements) {
GuiElement->Draw();
}
}