Moved the CIGUI style guide from `README.md` to a dedicated `StyleGuide.md` file for better organization. This improves readability and ensures the main README remains focused on project goals and usage.
71 lines
No EOL
1.1 KiB
Markdown
71 lines
No EOL
1.1 KiB
Markdown
# cigui
|
|
|
|
## Goal
|
|
|
|
```cpp
|
|
#include <cigui.hpp>
|
|
|
|
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"
|
|
}
|
|
``` |