#include "UI.hpp" #include #include #include #include #include #include #include #include void UI::DrawUIOnRenderWindow(std::shared_ptr context) { sf::Sprite spriteRender; spriteRender.setTexture(this->mUIRender.getTexture()); spriteRender.setPosition(0.0f, 0.0f); spriteRender.setScale(1.0f, 1.0f); context->draw(spriteRender); } CockpitUI::CockpitUI() : UI() { sf::ContextSettings sViewSettings; sViewSettings.depthBits = 0; sViewSettings.stencilBits = 0; sViewSettings.antialiasingLevel = 8; sViewSettings.sRgbCapable = true; if (!mUIRender.create(1280, 720, sViewSettings)) throw std::runtime_error("Texture renderer creation failure"); mUIRender.setSmooth(true); mUIRender.setRepeated(false); mBoardTexture.setSrgb(true); mBoardTexture.loadFromFile("cockpit_ui_empty_rescaled.png", sf::IntRect(0, 0, 1280, 780)); } void CockpitUI::Update() { sf::BlendMode sBM = sf::BlendNone; sf::RenderStates sRS(sBM); mUIRender.clear(sf::Color::Transparent); sf::Sprite staticBoardSprite(mBoardTexture); mUIRender.draw(staticBoardSprite, sRS); sf::CircleShape radar(95, 8); radar.setRotation(22.5f); radar.setPosition(sf::Vector2f(838,378)); radar.setFillColor(sf::Color::Yellow); mUIRender.draw(radar, sRS); mUIRender.display(); } WorldUI::WorldUI() : UI() { sf::ContextSettings sViewSettings; sViewSettings.depthBits = 0; sViewSettings.stencilBits = 0; sViewSettings.antialiasingLevel = 8; sViewSettings.sRgbCapable = true; if (!mUIRender.create(1280, 560, sViewSettings)) // Only the upper of the screen is renderer as the UI hide whats left. throw std::runtime_error("Texture renderer creation failure"); mUIRender.setSmooth(true); mUIRender.setRepeated(false); mUIRender.clear(sf::Color::Black); mUIRender.display(); } void WorldUI::Update() { }