Skip to content
This repository has been archived by the owner on Jan 27, 2022. It is now read-only.

Ethosa/nodesnim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

Open Source Love Nim language-plastic License time tracker test

channel icon channel icon

Stable version - 0.4.2

Install

  1. Install Nodesnim
    • Stable:
      nimble install nodesnim@#master
    • Nightly:
      nimble install nodesnim@#nightly
  2. Install dependencies
    • Linux (tested on Ubuntu and Mint):
      • sudo apt install --fix-missing -y libsdl2-dev libsdl2-image-dev libsdl2-mixer-dev libsdl2-ttf-dev
    • Windows / MacOS:

Features

  • Godot-like node system.
  • Runtime scene loader.
  • Powerful node build system using YML-like syntax.
  • Stylesheets (CSS-like).
  • Android-like drawables.
  • Customizable GUI themes.
  • Simple usage
    import nodesnim
    
    Window("Hello, world!")
    
    
    build:
      - Scene scene:
        - Label hello:
          call:
            setSizeAnchor(1, 1)
            setTextAlign(0.5, 0.5, 0.5, 0.5)
            setText("Hello, world!")
            setBackgroundColor(Color(31, 45, 62))
    
    addMainScene(scene)
    windowLaunch()
    

Now available

This section contains links to documentation for all nodes.

Core Default nodes Control nodes 2D Nodes 3D Nodes Graphics
Anchor Node Control Node2D Node3D Drawable
Color Canvas ColorRect Sprite GeometryInstance GradientDrawable
Font Scene TextureRect AnimatedSprite Camera3D
Enums AudioStreamPlayer Label YSort Sprite3D
Exceptions AnimationPlayer Button CollisionShape2D
Image EditText Camera2D
Input Box TileMap
Rect2 HBox
Vector2 VBox
Circle2 GridBox
Polygon2 Scroll
AudioStream ProgressBar
Animation Slider
Vector3 Popup
SceneBuilder TextureButton
StyleSheet TextureProgressBar
TileSet Counter
ChartData Switch
Scripts SubWindow
Scene loader CheckBox
ToolTip
Chart

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. Static linking SDL2
Also use niminst tool for generate an installer

  • 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

Stargazers over time