/nodesnim

The Nim GUI/2D framework based on OpenGL and SDL2.

Primary LanguageNimMIT LicenseMIT

Nodesnim

The Nim GUI/2D framework based on OpenGL and SDL2.

Open Source Love Nim language-plastic License time tracker test

Latest version - 0.0.4

Stable version - 0.0.3

Install

  1. Install this repo
    • nimble install nodesnim or nimble install https://github.com/Ethosa/nodesnim.git
  2. Install dependencies
    • Linux (tested on Ubuntu and Mint):
      • sudo apt install -y freeglut3 freeglut3-dev
      • sudo apt install --fix-missing -y libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev
    • Windows / MacOS:

Features

  • Godot-like node system.
  • Simple usage
    import nodesnim
    
    Window("Hello, world!")
    
    var
      scene = Scene("Main")
      hello = Label()
    
    hello.setText("Hello, world!")
    hello.setSizeAnchor(1, 1)
    hello.setTextAlign(0.5, 0.5, 0.5, 0.5)
    scene.addChild(hello)
    
    addMainScene(scene)
    windowLaunch()

Now available

This section contains links to documentation for all nodes.

Core Default nodes Control nodes 2D Nodes 3D Nodes
Anchor Node Control Node2D Node3D
Color Canvas ColorRect Sprite GeometryInstance
ColorText Scene TextureRect AnimatedSprite
Enums AudioStreamPlayer Label YSort
Exceptions Button CollisionShape2D
Image EditText Camera2D
Input RichLabel
Rect2 RichEditText
Vector2 Box
Circle2 HBox
Polygon2 VBox
AudioStream GridBox
Animation Scroll
Vector3 ProgressBar
Slider
VProgressBar
VSlider
Popup
TextureButton
TextureProgressBar
Counter
Switch
SubWindow
LineEdit

Debug mode

For use debug mode you should compile with -d:debug or --define:debug, e.g. nim c -r -d:debug main.nim.

Export

Use the Nim compiler user guide for export to the other OS.

  • CrossPlatform export for Windows (tested on Windows 7 x64 and Windows 10 x64)
    • nim c -d:mingw -d:release --opt:speed --noNimblePath file.nim
    • put Runtime binaries in the folder with the program.

Screenshots

Hello world example Calculator example Snake game example Screensaver example Novel game example

F.A.Q

Q: Where can I see examples?
A: You can see this in the tests or examples folder.

Q: Where can I read the docs?
A: You can read docs here