0.6.1 (Oct 11 2005)
-----
- Documentation fixes.
- Alternate way to make a true global event loop independent of a created window. Enable with
  the NEW_EVENT_BUFFER in window.c. An alternate event queue is now created as part of lite_init().
- private functions supporting attachment to a global event queue.
- Moved event handling code from window.c to event.c.
- New API, lite_get_window_size() that returns the true window size from IDirectFBWindow interface
  function.
- API name change, lite_on_user_event() is now called lite_on_window_user_event() to reflect that it's tied
  to a specific window.
- API name change, lite_on_universal_event() is now called lite_on_window_universal_event() to reflect
  that it's tied to a specific window.
- New macro, LITE_NULL_PARAMETER_CHECK, to check for NULL pointers and return DFB_INVARG.
- This macro is now used in most public APIs to check for possible passed in NULL parameters.
- Changed enum values for LiteBoxTypes from 0 and 1 to 0x1001 and 0x1002 for better patterns for testing.
- New macro, LITE_WINDOW_PARAMETER_CHECK, to check if a passed in LiteWindow is a valid struct or not.
- New macro, LITE_BOX_PARAMETER_CHECK, to check if a passed in LiteBox is a valid struct or not.
- Most window public APIs now use LITE_WINDOW_PARAMETER_CHECK.


0.6.0 (Sept 26 2005)
-----
- Various bug fixes related to the event handling, and window child handling.
- Fixes in code base to make sure various pointer variables are initialized to NULL.
- New window callback, lite_on_universal_event() to catch DFBUniversalEvents.


0.5.3 (Sept 7 2005)
-----
- New APIs, lite_window_set_creator() and lite_window_get_creator(), from Damian
  and Kent, to save information about the window who created a specific LiteWindow.
  This is then used in the modal window loop to forward all input events to a window
  that was created by a modal window, making it possible to have child windows that
  are bigger in size than the actual modal window.
- Updates of LiteWindow's height and width values when calling lite_resize_window().
- Move the default theme global variables into .c files and place extern definitions
  in the .h files, this to make C++ compilations work without errors.


0.5.2 (Aug 26 2005)
-----
- Bug fixes.
- Added extern "C" wrappers around all header files for C++ use.
- New global callback for window event handling installed with
  lite_on_window_event(). See documentation for details.


0.5.1 (Aug 18 2005)t

-----
- New internal event alive flag that could be disabled/enabled via internal
  APIs, this to better control when to exit an event loop.
- New function, lite_set_exit_idle_loop(), when this is enabled the event
  loop will exit if there are no pending events present.
- Guard all stack-based pointers with NULLs to avoid strange problems later
  when any of such pointers are tested.
- Fixed the timeout values for lite_window_event_loopso that seconds and
  milliseconds are passed to WaitForEventWithTimeout.
- Other minor bug fixes.


0.5.0 (July 10 2005)
-----
- Many internal function and variable name changes to conform to coding style.
- New constants liteFUllWindowOpacity and liteNoWindowOpacity.
- LiteTheme extensions, all widgets now have a specific theme they could use,
  or use the default theme (not all widget have specialized themes yet).
- Public APIs for widgets now take a DFBRectangle and a LiteTheme.
- LiteWindow is taking into account the LiteTheme background colors when initializing.
- New unit test framework inside tests to test out various parts of LiTE each time
  it is changed. This includes performance timing tests.
- More unit tests for various widgets and LiTE functions in place.
- New API, lite_exit_event_loop(), when called will exit the current event loop.
- New API, lite_get_layer_interface(), returns the opened display layer.
- Fixes to make sure titles in windows could be drawn even if the Theme does not
  include a font specification.
- Fixed the lite_hide_cursor() and lite_show_cursor() APIs by temporarily setting
  the layer to DLSCL_ADMINISTRATIVE.


0.4.3 (June 24 2005)
-----
- All of the public headers have now Doxygen documentation.
- Reformatted source code so the same look and feel is across all files.
- lite_init_window() now also takes a DFBRectangle and a LiteWindowTheme.
- lite_window_setmodal() renamed to lite_window_set_modal().
- Three new cursor APIs, lite_hide_cursor(), lite_show_cursor() and
  lite_set_cursor_opacity().
- New function lite_free_window_theme() to release window theme resources.
- New configuration constant, DEFAULT_WINDOW_MINIMIZE_SIZE.
- render_title() is now more flexible and allows window themes with no
  fonts as well as no title set for the window so that the top level
  frame could be rendered.

0.4.2 (June 17 2005)
-----
- The window theme handling is now broken out so that a LiteWindowTheme
  could be passed into lite_new_window(). There's a liteDefaultTheme,
  liteNoTheme, or a custom theme could be passed in. As part of this
  the lite_new_window() API changed, in addition to the LiteWindowTheme
  it now uses DFBRectangle to pass in the window size, this way we
  avoid functions with too many parameters.
- The theme handling has a new base structure, LiteTheme.
- All header file top parts have Doxygen @brief statements.
- New compile time lite_config.h flag, LOAD_DEFAULT_THEME, on by default,
  if disabled, no default themes are built. The environment variable
  LITE_NO_THEME is also still operational.
- New directory called tests where LiTE unit tests are placed, two
  new unit tests, window and nothemewindow.
- All user-provided callbacks now return DFBResult, this so we could
  test or a value not being DFB_OK and stop event flows and so on.
- New callback hook that is installed with lite_on_raw_mouse(), this 
  callback triggers with mouse event information before the modal state
  and LiteBox mouse handling has happened. This makes it possible to
  find out if a parent window has a mouse click in order for the child
  window to close itself (for example with popups.)
- New callback hook that is installed with lite_on_raw_keyboard(), this
  callback triggers with mouse event information before the modal state
  and LiteBox keyboard handling has happened. 


0.4.1 (June 10 2005)
-----
- New API, lite_get_event_buffer() to return the DFB event buffer pointer
- New LiteBox flags, is_visible, for disabling/enabling drawing, as well
  as for event control (no events passed to a disabled LiteBox).


0.4.0 (June 2 2005)
-----
- Various bug fixes (see ChangeLog for details), mostly related to fixing
  issues when multiple LiteBox entries are dynamically created and destroyed.


0.3.2 (May 18 2005)
-----
- New LIteWindow structure flag, LiteWindowFlag, for setting various flags for the window.
- Modal support for Windows by enabling the modal window flag, this changes the event
  loop so that only the frontmost modal window will receive events.
- Other LiteWindowFlags for indicating if the window could be minimized or resized.
- In lite_reinit_box_and_children(), maintain the font information when cloning the boxes.
- New global cursor that is by default set to a default cursor, but could be set to
  any valid LiteCursor during runtime. This makes it possible to have dynamic cursors in
  the LiTE environment.
- New cursor APIs: lite_get_current_cursor(), lite_set_current_cursor(), lite_load_cursor_from_file(),
  lite_load_cursor_from_desc(), lite_free_cursor(), lite_set_window_cursor().
- New font API, lite_ref_font() for virtually cloning font instances. 


0.3.1 (May 12 2005)
-----
- New multi-window event loop where multiple windows share the same event buffer.
  This will make it possible to write modal and modeless LiTE applications.
- Fixed a problem with the box-parent's child array slot not updated and compacted when
  children are removed from a box.
- New LiteBox field, handle_keys, used to disable and enable key handling in LiteBox instances.
- LiteWindow has a separate init call, makes it possible to subclass LiteWindow (similar
  to subclassing LiteBox)
- New lite_get_current_key_modifier() API to return the current key modifier.
- Work on two new LiteWindow function callbacks, OnBoxAdded() and OnBoxToBeRemoved(), triggered
  when a box is added to an underlying box hierarchy, or to be removed.
- Code contributed by Andy Stewart and Damian Kowalewski.


0.3.0 (Mar 31 2005)
-----
- Lite's event loop is now based on a single event buffer shared across multiple window instances.
- LiteCursor structure outside LiteWindow.c, inside cursor.h
- Many more functions now also return DFBResult values.
- Test of keeping the grabbedpointer window pointer around for possible release of this window in odd cases.
- Wheel support, LiteBox OnWheel where widgets could make use of wheel events, lite_on_window_wheel to
  install a global event handler for the window where wheel events are generated.
- Removed lite_on_idle() callback installer as there are better and more reliable ways to generate
  idle time handlers.


0.2.2 (Mar 27 2005)
-----
- window.c event loop rearrangement so it handles any DirectFB events
- lite_on_user_event() to register a callback for arbitrary events
- lite_post_event_to_window() API to post events to the event queue
- Many more APIs now return DFBResult values, and pass in a handle for the returned structure
- Internal structure changes, LiteCursor and LiteTheme, for extending these later
- Fixed a cas where a missing UngrabPointer caused a case where an original window
  still hadthe window grabbed when a new window was created
- Use of D_ASSERT statements for internal functions params passed in


0.2.1 (March 15 2005)
-----
- lite_on_user_event() to register user event callbacks
- lite_post_event_to_window() posts events to the current LiteWindow event queue
- better naming of the font specs, proportional, sans_serif, default and monospace
- lite_get_font() accepts a file name as a spec
- with-fontdir configure flag for specifying font directory, default same as existing default dir
- D_DEBUG_DOMAIN and D_DEBUG_AT macros for error handling
- More APIs now return DFBResult


0.2.0 (Feb 15 2005)
-----
- LiteLabel has a field for the text color, as well as lite_set_label_color,
  dfbspy.c has an example how this is used 
- Default window background colors are defined in lite_config.h
- From Andy Stewart:
    - define default font names in lite_config.h
    - Add a DFBFontAttribute argument to lite_get_font() and lite_get_font_from_file()
    - New functions, lite_set_active_font() and lite_get_active_font()
    - Use macros based on DirectFB's D_BREAK and D_INFO instead of fprintf calls
- Window theme bitmap definitions placed in lite_config.h
- All internal configurations are centralized into lite_config.h
- lite_get_dfb_interface() will return the current IDirectFB interface


0.1.0 (Feb 3 2005)
-----
See ChangeLog for all the details.

- LiteWindow has global callbacks for catching keyboard and mouse events, as
  well as for doing idle handling
- LiteButton has now lite_set_button_image_surface() to set individual
  surfaces for bi-state and tri-state buttons
- lite_new_window takes() two params, x,y, for window positioning
- util.h has now lite_util_load_imagE_desc() that takes an DFBIMageDescription
  for loading images directly from shared library (memory) produced by
  the directfb-csource tool


0.0.0 (Oct 2002 to Oct 2004)
-----
- Original code by Denis Knopp. See ChangeLog for all the features and details.


