Windows & Dialogs
Create movable, resizable windows with title bars, close buttons, and shadow effects.
A TurboVision-inspired text user interface framework for embedded systems. Build professional console applications with windows, dialogs, menus, and widgets.
// Nitro Debugger - Built with NitroVISION TUI Framework
NV_Init(UART_VT100, 115200);
// Main debugger window (80x24 terminal)
NV_Window* dbg = NV_CreateWindow("Nitro Debugger v1.2", 0, 0, 80, 24);
// Register panel (left side)
NV_Panel* regs = NV_AddPanel(dbg, "Registers", 0, 2, 28, 14);
NV_AddTable(regs, regTable, 4, 16); // R0-R15 + PSR
// Disassembly panel (right side)
NV_Panel* disasm = NV_AddPanel(dbg, "Disassembly", 29, 2, 50, 14);
NV_AddListBox(disasm, asmList, 7, onAsmSelect);
// Memory view panel (bottom)
NV_Panel* mem = NV_AddPanel(dbg, "Memory", 0, 17, 80, 4);
NV_AddHexView(mem, 0x20000100, 32);
// Status bar & menu
NV_AddMenu(dbg, debugMenu); // File, Edit, View, Debug...
NV_AddStatusBar(dbg, "HALTED | Core: Cortex-M4 | F5=Run F10=Step");
// Bind keyboard shortcuts
NV_BindKey(NV_KEY_F5, onRun);
NV_BindKey(NV_KEY_F10, onStepOver);
NV_BindKey(NV_KEY_F11, onStepInto);
NV_Run(); // Start event loop
Create movable, resizable windows with title bars, close buttons, and shadow effects.
Pull-down menus, context menus, and customizable toolbars with keyboard shortcuts.
Buttons, labels, inputs, checkboxes, radio buttons, lists, progress bars, and more.
Standard escape sequences for maximum terminal compatibility. Works with any serial console.
Full keyboard support with Tab navigation, hotkeys, and arrow key movement.
Message-based event system with callbacks for user interactions and system events.
NV_WindowNV_DialogNV_MenuNV_Button
NV_LabelNV_InputNV_CheckboxNV_Radio
NV_ListBoxNV_ComboBoxNV_ProgressNV_Gauge
NV_TableNV_TreeNV_StatusBarNV_ScrollBar
Create powerful text-based UIs for your embedded applications.