// // Created by versustune on 11.06.20. // #include "SidebarLCD.h" #include "../../../Utils.h" #include "../../../Core/Config.h" #include "../../../Fonts/Fonts.h" SidebarLCD::SidebarLCD (const std::string& process_id) : BaseComponent (process_id) { waveform = std::make_unique (process_id); addAndMakeVisible (*waveform); } SidebarLCD::~SidebarLCD () { waveform.reset (nullptr); } void SidebarLCD::drawHeadline (Graphics& g) { float fontSize = VeNo::Utils::setFontSize (12.0f, g) + 2; int line = m_innerY + fontSize + 2; g.drawText (">>> VeNo <<<", 0, m_innerY, getWidth () - m_width, fontSize, Justification::centred, true); g.drawLine (0, line, getWidth (), line); } void SidebarLCD::drawFooter (Graphics& g) { float fontSize = VeNo::Utils::setFontSize (8.0f, g) + 4; int space = m_innerY + fontSize; int line = getHeight () - space; g.drawText ("by VersusTuneZ", 0, line, getWidth () - m_width, fontSize, Justification::horizontallyCentred, true); g.drawLine (0, line - 4, getWidth (), line - 4); } void SidebarLCD::resized () { float topSpace = (12 * Config::getInstance ()->getScale ()) + 4 + m_innerY; if (waveform != nullptr) { waveform->setBounds (0, topSpace * 2, getWidth (), getHeight () - (topSpace * 4)); } } void SidebarLCD::paint (Graphics& g) { std::shared_ptr theme = Config::getInstance ()->getCurrentTheme (); auto colour = theme->getColour (ThemeColour::lcd_bg); g.fillAll (colour); // background auto accent = theme->getColour (ThemeColour::lcd); g.setColour (accent); g.setFont (*VenoFonts::getLCD ()); drawHeadline (g); drawFooter (g); }