NxWidgets-1.0
=============

The initial version of NxWidgets was released on March 22, 2012.  This
package has been used in several projects prior to its release to open
source and is considered stable its initial release (although not all
features have been fully verified).

NxWidgets-1.1
=============

The 2nd release of the NxWidgets package as made on May 19, 2012.  The
headline new feature in this release is:

* NxWM, the tiny window manager based on NX and NxWidgets. NxWM is true
  multiple window manager but only one window is displayed at a time.
  This simplification helps performance on LCD based products (in the
  same way that a tiled window manager helps) and also makes the best
  use of small displays.  It is awkward from a human factors point-of-view
  trying to manage multiple windows on a small display.

  The window manager consists of a task bar with icons representing the
  running tasks.  If you touch the task's icon, it comes to the top.  Each
  window has a toolbar with (1) a title, (2) a minimize button, and (3) a
  stop application button using the standard icons for these things. User
  input via a touchscreen or mouse and keyboard is supported.

  There is always a start window that is available in the task bar.  When
  you touch the start window icon, it brings up the start window containing
  icons representing all of the available applications.  If you touch an
  icon in the start window, it will be started and added to the task bar.

  There is a base class that defines an add-on application and an
  interface that supports incorporation of new application.  The only
  application that is provided is NxConsole.  This is an  NSH session
  running in a window.  You should be able to select the NX icon in the start
  menu and create as many NSH sessions in windows as you want. (keybard input
  still comes through serial).

  This initial realease of NxWM should be considered an alpha release.
  All know issues are listed in the top-level TODO list.

Other important new features include:

* NxWidgets::IBitmap and NxWidgets::CRlePalettBitmap:  Extended to
  support different color look-up-tables (LUTs).  This allows images
  to be highlighted when touched, for example.
* NxWidgets::CImage:  Extended to support button-like behavior.  CImage
  widgets now work well as touchable icons.
* NxWidgets::CWidgetControl:  Add a semaphore to force clients to wait if the
  size or position of the window is not yet known (multi-user mode only).
  Enabled and verified creation of framed windows.
* NxWidgets::CWindowEventHandler and NxWidgets::CWindowEventHandler:  Add
  support for getting callbacks for window events.
* DOxygen documentation support.  Contributed by Jose Pablo Carballo.

An effort is underway to simplify NxWidgets and reduce its memory footprint:

* NxWidgets::CNxWidget: Removed support for "shelving" widgets, reference
  constants, and close types. Remove all support for widgets in a "vertical"
  hierarchy.  Now widgets exist in a flat, two-dimensional space and should
  not overlap.  Removed built-in modal loops.

Bug fixes include changes to the following (see the ChangeLog for details):

* NxWidgets::CRlePalettBitmap, NxWidgets::CRlePalettBitmap,
  NxWidgets::CGraphicsPort, NxWidgets::CWidgetControl

NxWidgets-1.2
=============

The 3rd release of the NxWidgets package as made on June 15, 2012.  This
release depends on NuttX-6.19 or above and should not be used with older
NuttX releases.

New features and enhancements include:

* NxWM::CNxConsole:  The NxWM NxConsole windows now correctly receive keyboard
  input.  In version 1.1, NxConsoles received input from /dev/console.  That,
  of course, leads to chaos when there a multiple windows trying to get input
  from the same device.  There is now a keyboard listener task that will
  accept input from /dev/console and inject that input into the NX keyboard
  interface.  NX will give the keyboard input only to the top window that
  has focus, eliminating the chaos.

* NxWM::CHexcalculator:  The NxWM demonstration/unit test now includes a hex
  calculator applications.  This demonstrates the use of arrays of buttons
  within a window.

Bugfixes:

* NxWM::CTaskbar:  Was inappropriately minimizing some windows.  Fixes
  some window raising/lowering bugs.

* NXWidgets::CButtonArray:  Fix some coloring problems when rending button
  text in cases where we cannot read from the display device.

As well as other, less critical bugs (see the ChangeLog for details)

