#include "Cubed/ui/settings_ui.hpp" #include "Cubed/app.hpp" #include "Cubed/render/renderer.hpp" #include "Cubed/scene/scene_manager.hpp" #include "Cubed/scene/settings_scene.hpp" #include "Cubed/ui/button.hpp" #include "Cubed/ui/column_layout.hpp" #include "Cubed/ui/combo_button.hpp" #include "Cubed/ui/image.hpp" #include "Cubed/ui/slider.hpp" namespace Cubed { SettingsUI::SettingsUI(SettingsScene& scene) : m_scene(scene) {} void SettingsUI::init() { auto bi = std::make_unique(nullptr); auto& renderer = m_scene.scene_manager().app().renderer(); auto& texture_manager = m_scene.scene_manager().app().texture_manager(); bi->set_window_size(renderer.window_width(), renderer.window_height()); bi->set_anchor(Anchor::TOP_LEFT); bi->set_image("texture/ui/background.png", texture_manager); bi->set_fill(true); auto& rect = bi->add_child(); rect.set_fill(true); rect.set_alpha(0.7f); rect.set_color(Color::BLACK); auto& layout = rect.add_child(); layout.set_anchor(Anchor::TOP_CENTER); layout.set_offset({0, 20}); layout.set_spacing(20.0f); auto& v = m_scene.slider_variable(); auto set_default_slider_image = [&](Slider& slider) { slider.set_thumb_image("texture/ui/slider_thumb001.png", texture_manager); slider.set_track_image("texture/ui/slider_track001.png", texture_manager); }; { auto& title = layout.add_child