#include "../include/ChannelSidePanel.hpp" #include "../include/ResourceCache.hpp" #include "../include/Settings.hpp" #include "../include/Channel.hpp" #include #include #include #include using namespace std; namespace dchat { vector channels; const float width = 200.0f; const unsigned int FONT_SIZE = 20; void ChannelSidePanel::addChannel(Channel *channel) { channels.push_back(channel); } void ChannelSidePanel::removeAllChannels() { channels.clear(); } void ChannelSidePanel::draw(sf::RenderWindow &window) { auto windowSize = window.getSize(); sf::RectangleShape rect(sf::Vector2f(width, windowSize.y)); rect.setFillColor(sf::Color(30, 30, 30)); window.draw(rect); const sf::Font &font = ResourceCache::getFont("fonts/Roboto-Regular.ttf"); sf::Vector2f position(10.0f, 10.0f); for(Channel *channel : channels) { // TODO: Remove this shit sf::String str = "# "; str += sf::String::fromUtf8(channel->getName().begin(), channel->getName().end()); sf::Text text(str, font, FONT_SIZE * Settings::getScaling()); text.setPosition(position); window.draw(text); position.y += font.getLineSpacing(FONT_SIZE * Settings::getScaling()); } } float ChannelSidePanel::getWidth() { return width; } }