Skip to content

alternative-intelligence-cp/ngui

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NGUI — Nitpick Native GUI Library

NGUI is a 100% native GUI library for the Nitpick programming language.

The primary goal of NGUI is to provide developers with a powerful, fast, and feature-rich graphics and user interface framework without ever having to compromise on the safety and formal verification guarantees of Nitpick. By being 100% native, we completely bypass the FFI (Foreign Function Interface) gateway, ensuring that memory safety and error propagation hold true from the application logic all the way down to the pixel rendering.

NO C/C++ code is allowed in this repository.

Roadmap

  • Phase 1: Raylib-style Simplicity Initial focus is on creating a straightforward, easy-to-use API similar to raylib, making it simple to open a window, draw shapes, handle input, and render text.
  • Phase 2: SDL2-level Features Expanding into more comprehensive windowing, event handling, audio, and hardware-accelerated 2D features.
  • Phase 3: Advanced Graphics APIs Full support for modern rendering backends such as OpenGL and Vulkan for maximum performance and 3D capabilities.

Current Features

  • Rich Text Support: Advanced text formatting with RichTextWidget and TextSpan providing independent styling (bold, italic, colors).
  • Gestures & Interaction: Complete gesture recognition system (Tap, Pan, Swipe) built on a modular GestureRecognizer trait.
  • Drag & Drop: Robust drag-and-drop architecture using DragDropHook for handling both internal UI drags and external OS file drops.
  • Interactive UI: Input handling, state management, and declarative components (Buttons, Input Fields).
  • Layout Engine: Flexbox-like layout engine supporting advanced alignment and wrapping constraints.
  • Hardware Acceleration: Native GPU backend interface (in progress).
  • Resource Management: Automatic GC-free lifecycle hooks for precise memory cleanup via LifecycleHook.

Setup & Building

Instructions coming soon.

License

See the LICENSE file for more details.

About

A 100% native GUI library for Nitpick. Built for maximum safety without FFI compromises, scaling from raylib-like simplicity to full OpenGL/Vulkan support.

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors