README.md 11 KB

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

Draft of the best version.

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.
  • Build nodes with YML-like syntax.
  • Simple usage ```nim import nodesnim

Window("Hello, world!")

build:

- Scene scene:
  name: "Main"
  - Label hello:
    call setSizeAnchor(1, 1)
    call setTextAlign(0.5, 0.5, 0.5, 0.5)
    call setText("Hello, world!")
    background_color: 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 | |:--: |:--: |:--: | :--: |:--: | |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 | | | |SceneBuilder| |Slider | | | | | |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

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