GUI library
Nim Other
Clone or download
Latest commit cb04339 Jul 31, 2018

README.rst

nimx travis nimble

Cross-platform GUI framework in Nim.

Live demo in WebGL

./doc/sample-screenshot.png

Quick start

Installation

nimble install nimx

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 (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

cd $(nimble path nimx | tail -n 1)/test
nake # Build and run on the current platform
# or
nake js # Build and run in default web browser

Reference

TODO