Documentation: move nxwidgets to applications as it is apps-side lib

This commit is contained in:
raiden00pl 2023-10-27 17:34:21 +02:00 committed by Alan Carvalho de Assis
parent 579a35dc68
commit 8f7be6ce27
4 changed files with 45 additions and 99 deletions

View File

@ -1,55 +1,57 @@
.. _nxwidgets:
=======================
``nxwidgets`` NXWidgets
=======================
In order to better support NuttX based platforms, a special graphical user
interface has been created called NXWidgets. NXWidgets is written in C++ and
integrates seamlessly with the NuttX NX graphics subsystem in order to provide
graphic objects, or _widgets_, in the NX Graphics Subsystem
In order to better support NuttX based platforms, a special graphical
userinterface has been created called NXWidgets. NXWidgets is written in
C++ and integrates seamlessly with the NuttX :ref:`NX graphics
subsystem <nxgraphics>` in order to provide graphic
objects, or "widgets," in the NX Graphics Subsystem
Some of the features of NXWidgets include:
- Conservative C++
- **Conservative C++**. NXWidgets is written entirely in C++ but using
only selected "embedded friendly" C++ constructs that are fully
supported under NuttX. No additional C++ support libraries are
required.
- **NX Integration**. NXWidgets integrate seamlessly with the
:ref:`NX graphics subsystem <nxgraphics>`. Think of the X
server under Linux … 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.
- **Small Footprint**. 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 40K of
FLASH and maybe 4K of SRAM.
- **Output Devices**. 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.
- **Input Devices**. 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.
- **Many Graphic Objects**. 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.
- **DOxygen Documentation** DOxygen documentation is available.
NXWidgets is written entirely in C++ but using only selected "embedded
friendly" C++ constructs that are fully supported under NuttX. No additional
C++ support libraries are required.
Note: Many of the fundamental classed in NxWidgets derive from the
Antony Dzeryn's "Woopsi" project which also has a
BSD style license. See the COPYING file for details.
- NX Integration
NXWidgets Doxygen Documentation
===============================
NXWidgets integrate seamlessly with the NX graphics system. Think of the X
server under Linux 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.
.. todo::
NXWidgets supports building HTML documentation via Doxygen. We should
integrate this into the Sphinx documentation build.
- Small Footprint
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.
- Output Devices
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.
- Input Devices
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.
- Many Graphic Objects
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.
**Note**: Many of the fundamental classed in NxWidgets derive from the Antony
Dzeryn's _Woopsi_ project: http://woopsi.org/ which also has a BSD style
license. See the ``COPYING`` file for details.
Thanks go to Jose Pablo Carballo for contributing this!
Directory Structure
-------------------

View File

@ -15,7 +15,6 @@ case, you can head to the :doc:`reference <../reference/index>`.
drivers/index.rst
nxflat.rst
nxgraphics/index.rst
nxwidgets.rst
paging.rst
audio/index.rst
filesystem/index.rst

View File

@ -1,55 +0,0 @@
.. _nxwidgets:
=========
NxWidgets
=========
In order to better support NuttX based platforms, a special graphical
userinterface has been created called NXWidgets. NXWidgets is written in
C++ and integrates seamlessly with the NuttX :ref:`NX graphics
subsystem <nxgraphics>` in order to provide graphic
objects, or "widgets," in the NX Graphics Subsystem
Some of the features of NXWidgets include:
- **Conservative C++**. NXWidgets is written entirely in C++ but using
only selected "embedded friendly" C++ constructs that are fully
supported under NuttX. No additional C++ support libraries are
required.
- **NX Integration**. NXWidgets integrate seamlessly with the
:ref:`NX graphics subsystem <nxgraphics>`. Think of the X
server under Linux … 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.
- **Small Footprint**. 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 40K of
FLASH and maybe 4K of SRAM.
- **Output Devices**. 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.
- **Input Devices**. 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.
- **Many Graphic Objects**. 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.
- **DOxygen Documentation** DOxygen documentation is available.
Note: Many of the fundamental classed in NxWidgets derive from the
Antony Dzeryn's "Woopsi" project which also has a
BSD style license. See the COPYING file for details.
NXWidgets Doxygen Documentation
===============================
.. todo::
NXWidgets supports building HTML documentation via Doxygen. We should
integrate this into the Sphinx documentation build.
Thanks go to Jose Pablo Carballo for contributing this!

View File

@ -197,7 +197,7 @@ Key features of NuttX include:
* NX: A graphics library, tiny windowing system and tiny font support that works with either
framebuffer or LCD drivers. Documented in the :doc:`/components/nxgraphics/index` manual.
* Font management sub-system.
* :doc:`/components/nxwidgets`: NXWidgets is library of graphic objects, or "widgets," (labels,
* :doc:`/applications/graphics/nxwidgets/index`: NXWidgets is library of graphic objects, or "widgets," (labels,
buttons, text boxes, images, sliders, progress bars, etc.). NXWidgets is written in C++ and
integrates seamlessly with the NuttX NX graphics and font management subsystems.
* NxWM is the tiny NuttX window manager based on NX and NxWidgets.