Skip to content

s-oram/nimx

This branch is 152 commits behind yglukhov/nimx:master.

Folders and files

NameName
Last commit message
Last commit date
Sep 9, 2019
Jan 16, 2019
Jul 30, 2018
Sep 13, 2019
Aug 12, 2019
Jul 6, 2016
Oct 3, 2016
Aug 29, 2016
Feb 18, 2019
Jul 6, 2016
Jan 2, 2019
Sep 11, 2019

Repository files navigation

nimx travis nimble

Cross-platform GUI framework in Nim.

Live demo in WebGL

./doc/sample-screenshot.png

Usage

# File: main.nim
import nimx/window
import nimx/text_field

proc startApp() =
    # First create a window. Window is the root of view hierarchy.
    var wnd = newWindow(newRect(40, 40, 800, 600))

    # Create a static text field and add it to view hierarchy
    let label = newLabel(newRect(20, 20, 150, 20))
    label.text = "Hello, world!"
    wnd.addSubview(label)

# Run the app
runApplication:
    startApp()

Running

nim c -r --threads:on main.nim

Supported target platforms

Nimx officially supports Linux, MacOS, Windows, Android, iOS, Javascript (with Nim JS backend) and Asm.js/WebAssembly (with Nim C backend and Emscripten).

Troubleshooting

Nimx is tested only against the latest devel version of Nim compiler. Before reporting any issues please verify that your Nim is as fresh as possible.

Running nimx samples

git clone https://github.com/yglukhov/nimx
cd nimx
nimble install -dy
nake # Build and run on the current platform
# or
nake js # Build and run in default web browser

Reference

See the docs for more information.

About

GUI library

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Nim 99.8%
  • Other 0.2%