# cigui ## Goal ```cpp #include struct ContentView : public cig::View { void body() { cig::VStack( cig::SystemIcon("globe.fill"), cig::Text("Welcome to Cigui") ) } } struct SettingsView : public cig::View { void body() { cig::Tabbed( cig::Tab( ).tag("Tab 1"), cig::Tab( cig::VStack( cig::Text("Other Tab") ) ) ); } } struct MainApp : public cig::App { void body() { cig::WindowGroup()( cig::ViewWindow(new ContentView()), cig::SettingsWindow(new SettingsView()) ) } } ``` ## Data structures ### Runtime ``` ./ |- Themes | |- ExampleTheme.json | \- themes.txt |- Settings.json \- App.json ``` #### Themes ``` # themes.txt 1, ExampleTheme.json --- default: 1 ``` ```json5 // ExampleTheme.json { "Name": "Standard Cigui Theme", "background-color": [20, 20, 20], "primary": [120, 20, 50], "other": "auto" // calculates the secondary and any further color automatically based on "primary" } ```