OpenMiner/client/source/hud/BlockInfoWidget.cpp
2019-01-20 15:07:45 +01:00

53 lines
1.2 KiB
C++

/*
* =====================================================================================
*
* Filename: BlockInfoWidget.cpp
*
* Description:
*
* Created: 06/07/2018 14:34:00
*
* Author: Quentin Bazin, <quent42340@gmail.com>
*
* =====================================================================================
*/
#include "Block.hpp"
#include "BlockInfoWidget.hpp"
BlockInfoWidget::BlockInfoWidget(Widget *parent) : Widget(160, 32, parent) {
m_itemWidget.setPosition(5, m_height / 2 - m_itemWidget.height() / 2, 0);
m_background.setColor(gk::Color{255, 255, 255, 200});
m_text.setColor(gk::Color{240, 240, 240});
m_text.setPosition(26, 8, 0);
}
void BlockInfoWidget::update() {
m_itemWidget.update();
}
void BlockInfoWidget::setCurrentBlock(const Block *block) {
m_currentBlock = block;
if (!m_currentBlock)
m_isVisible = false;
else {
m_isVisible = true;
m_text.setText(block->label());
m_itemWidget.setStack(block->name(), 1);
}
}
void BlockInfoWidget::draw(gk::RenderTarget &target, gk::RenderStates states) const {
if (m_isVisible) {
states.transform *= getTransform();
target.draw(m_background, states);
target.draw(m_itemWidget, states);
target.draw(m_text, states);
}
}