#include "tab_bar.hpp" #include "Z2AudioLib/Z2SeMgr.h" #include "m_Do/m_Do_audio.h" namespace dusk::ui { namespace { Rml::Element* createRoot(Rml::Element* parent) { auto* doc = parent->GetOwnerDocument(); auto elem = doc->CreateElement("tab-bar"); return parent->AppendChild(std::move(elem)); } int key_modifiers_from_event(const Rml::Event& event) { int modifiers = 0; if (event.GetParameter("ctrl_key", 0)) { modifiers |= Rml::Input::KM_CTRL; } if (event.GetParameter("shift_key", 0)) { modifiers |= Rml::Input::KM_SHIFT; } if (event.GetParameter("alt_key", 0)) { modifiers |= Rml::Input::KM_ALT; } if (event.GetParameter("meta_key", 0)) { modifiers |= Rml::Input::KM_META; } if (event.GetParameter("caps_lock_key", 0)) { modifiers |= Rml::Input::KM_CAPSLOCK; } if (event.GetParameter("num_lock_key", 0)) { modifiers |= Rml::Input::KM_NUMLOCK; } if (event.GetParameter("scroll_lock_key", 0)) { modifiers |= Rml::Input::KM_SCROLLLOCK; } return modifiers; } } // namespace TabBar::TabBar(Rml::Element* parent, Props props) : FluentComponent(createRoot(parent)), mProps(std::move(props)) { if (mProps.onClose) { mRoot->SetAttribute("closable", ""); add_child