NXWidgets is written in C++ and integrates seamlessly with the NuttX <ahref="NXGraphicsSubsystem.html">NX graphics subsystem</a> in order to provide graphic objects, or "widgets," in the NX Graphics Subsystem
Think of the X server under Linux <20> the NX graphics system is like a tiny X server that provides windowing under NuttX.
By adding NXWidgets, you can support graphics objects like buttons and text boxes in the NX windows and toolbars.
</li>
<li><b>Small Footprint</b>.
NXWidgets is tailored for use MCUs in embedded applications.
It is ideally suited for mid- and upper-range of most MCU families.
A complete NXWidgets is possible in as little as 40Kb of FLASH and maybe 4Kb of SRAM.
</li>
<li><b>Output Devices</b>.
NXWidgets will work on the high-end frame buffer devices as well as on LCDs connected via serial or parallel ports to a small MCU.
</li>
<li><b>Input Devices</b>.
NXWidgets will accept position and selection inputs from a mouse or a touchscreen.
It will also support character input from a keyboard such as a USB keyboard.
NXWidgets supports on very special widget called CKeypad that will provide keyboard input via an on-screen keypad that can be operated via mouse or touchscreen inputs.
</li>
<li><b>Many Graphic Objects</b>.
Some of the graphic objects supported by NXWidgets include labels, buttons, text boxes, button arrays, check boxes, cycle buttons, images, sliders, scrollable list boxes, progress bars, and more.