#include "component.hh" #include "modern-qt/utility/material-icon.hh" #include #include #include #include #include #include #include #include #include #include #include using namespace creeper; namespace lnpro = linear::pro; namespace mwpro = main_window::pro; namespace capro = card::pro; auto main(int argc, char *argv[]) -> int { app::init { app::pro::Attribute {Qt::AA_EnableHighDpiScaling}, app::pro::Attribute {Qt::AA_UseHighDpiPixmaps}, app::pro::Complete {argc, argv}, }; auto manager = ThemeManager {kBlueMikuThemePack}; creeper::material::FontLoader::load_font(); auto nav_component_state = NavComponentState { .manager = manager, .switch_callback = [&](int index, const auto& name) { }, .buttons_context = { {"0", material::icon::kTouchSensor}, {"1", material::icon::kStar}, {"2", material::icon::kFavorite}, {"3", material::icon::kExtension}, {"4", material::icon::kLogout}, }, }; auto view_component_state = ViewComponentState {.manager = manager}; auto mask_window = (MixerMask*){}; creeper::ShowWindow { [&](MainWindow& window) noexcept { }, // mwpro::FixedSize {1080, 720}, mwpro::MinimumSize { 1080, 720 }, mwpro::Central { capro::ThemeManager {manager}, capro::Radius {0}, capro::Level {CardLevel::HIGHEST}, capro::Layout { lnpro::Margin{0}, lnpro::Spacing{0}, lnpro::Item { NavComponent(nav_component_state), }, lnpro::Item { lnpro::ContentsMargin{{15, 15, 15, 15}}, }, lnpro::Item { {255}, lnpro::ContentsMargin { { 5, 15, 15, 15 } }, lnpro::Item { scroll::pro::ThemeManager { manager }, scroll::pro::HorizontalScrollBarPolicy { Qt::ScrollBarAlwaysOff, }, scroll::pro::Item { ViewComponent(view_component_state), }, }, } } }, mixer::pro::SetMixerMask {mask_window}, }; manager.apply_theme(); manager.append_begin_callback([=](const auto&) { auto const point = mask_window->mapFromGlobal(QCursor::pos()); mask_window->initiate_animation(point); }); return app::exec(); }