/SwiftGUI

SwiftGUI is an API inspired by SwiftUI DSL, using Dear ImGui as renderer and running on macOS 10.13+ and iOS 11+

Primary LanguageSwiftMIT LicenseMIT

SwiftGUI

license swift version Carthage Compatible

SwiftGUI is an experimental API inspired by SwiftUI DSL, using Dear ImGui as renderer and running on OSX and iOS.

hellow world

Window("SwiftGUI") {

    Text("Hello world!")

    HStack {
        ForEach(1...2) { val in
            Button("Click \(val)")
        }

        ForEach(1...2) { val in
            CheckBox("Check \(val)", selectedState: true)
        }

        ForEach(1...2) { val in
            RadioButton("Radio \(val)", activeState: true)
        }
    }
}

Highlights

  • Easy to use abstraction for Dear ImGui
  • Multi-platform support (iOS 11+ and macOS 10.13+)
  • Huge list of UI components already available

Theme support

- Color scheme (embedded Darcula and Light)
- Custom Fonts (embedded FiraCode)

Components

- Buttons
- CheckBox
- Color Selection
- ComboBox
- Drag
- Dock
- Image
- TextField
- Lists
- Menu
- Plotting
- Popup
- RadioButton
- SelectableFields
- Sliders
- TabBar
- Texts
- Text Editor (Code editor)
- Tooltips
- Tree
- Window
- General 
    - Group
    - HStack
    - Separator/NewLine/Spacing/Indent
    - ForEach
    - Perform

Installation

Carthage

To integrate SwiftGui into your Xcode project using Carthage, specify it in your Cartfile:

github "erickjung/SwiftGUI" "0.9.3"

For OSX project, run:

carthage update --platform macOS

For iOS project, run:

carthage update --platform iOS

Cocoapods

To integrate SwiftGui into your Xcode project using Cocoapods, specify it in your Podfile:

pod 'SwiftGui', '~> 0.9.3'

run:

pod install

Using SwiftGUI

Mockingbird

Samples

macOS Sample 01 macOS Sample 02 iOS Sample 01

Contributing

Read the Contributing guidelines

License

MIT

Using