Home | Back
Version 0.5.0
=============
* Slider now acts on the mouse wheel moving the slider to the left on
  mouse wheel down and to the right on mouse wheen up.
* ListBox now has the ability to wrap keyboard selection. Wrapping means
  that if the key up is pressed and the first item is selected, then
  the last item will get selected. If the key down is pressed and the last
  item is selected, then the first item will get selected.
* Redesign of the Image class. Image now has different subclasses for
  different Graphics objects. The static method load in the Image class
  loads the appropiate type of image if an ImageLoader is set.
* The function action in ActionListener now takes a pointer to the
  Widget who called the function, it makes handling of action events,
  hopefully, cleaner.
* ScrollArea now scrolls if the open space around the markers is clicked.
* ScrollArea now has functions to set the amount to scroll when ScrollArea's
  buttons are pushed, each button can have it's own amount.
* Changed the function name of Widget::hasFocus and FocusHandler::hasFocus
  to isFocused.
* Moved a lot of common container functionality into BasicContainer.
  This made the code and API a lot cleaner. Affected classes are:
  BasicContainer - now holds a lot of common functionality for containers.
  Container - implementation is now a lot smaller.
  Window - window now inherits from Container and can have several child
  widgets.
  ScrollArea - smaller, nicer code.
  TextBox & ListBox - Takes advantage of the new Container API to get rid
  of a dynamic cast.
* Added drawBackground to ScrollArea to simplify overloading.
* Added functions for global KeyListeners in Gui. Global KeyListeners
  can be just about any object inheriting from KeyListener.
* Fixed an offset by one error in AllegroGraphics::_beginDraw.
  The initial clip area is now correct.
* Added alpha blending with SDL for 16bpp and 24 bpp mode.

Version 0.4.0
=============
* The GCN_EXCEPTION macro is now capable of determine the function in
  which the exception was thrown. Also, you can get the function name
  from the Exception class.
* Added a fix to make both versions of drawImage in
  AllegroGraphics, OpenGLGraphics and SDLGraphics visible
  and usable.
* Optimized fillRect in SDLGraphics slightly when using alpha
  blending. However, SDLGraphics still needs a lot of optimizing
  in other parts.
* Removed the filename from the Image class, as it wasn't really
  used for anything.
* Updated ImageFont with support for font images with several rows
  of glyphs.
* Added modal focus to widgets. Widgets can now request modal focus
  stealing all input from other widgets. Can be useful when making
  dialog windows.
* Many small fixes.

Version 0.3.0
=============
* Every Guichan library now contains a C function which can be
  used with autotools check, for instance the Guichan SDL library
  contains the function gcnSDL wich can be used when struggling
  with autoconf. Other functions are gcnAllegro in Guichan Allegro,
  gcnOpenGL in Guichan OpenGL and gcnGuichanVersion in the Guichan
  core.
* Slider now stores only the current selected value and calculates
  everything from that value. It should take care of some resizing
  problems. Also, slider has now an orientation, which means you can
  create a slider which has a vertical or horizontal orientation.
  The previous slider had only a horizontal orientation.
* Fixed alpha problem with images loaded and displayed with SDL.
* Added a new widget, the window widget.
* SDL.h is now included the proper way meaning you can install
  SDL anywhere and Guichan will include the right headers as long
  as sdl-config knows where the headers are.
* Added ability to disable widgets.
* Changed slightly how focus works. Focus is now applied after the
  input is processed. This resolved some problems when widgets
  fight over focus.
* Changed the behaviour of the mouse handling. Widgets will get
  mouse input if the mouse is dragged outside of the widget,
  even if they don't have focus.
* Many small fixes.

Version 0.2.0
=============
* Added isPressed() method to the Button.
* Doubleclicking now works with SDL
* Added --enable-force argument for Allegro, SDL, SDL Image and OpenGL
  to the configure script which forces Guichan to compile with the
  forced support.
* Updated platform.hpp to be able to handle compilation with MinGW.
* Splited DECLSPEC define into GCN_CORE_DECLSPEC and
  GCN_EXTENSION_DECLSPEC.
* Fixed bugs in ScrollArea and DropDown involving focus and mouse input,
* Changed the look when CheckBox is marked.  
* Changed the look when CheckBox and RadioButton are focused.
  They now draw a rectangle around their captions (common behaivour in Guis).
* Removed unaccesary logic functions (which didn't do anything) in
  widget RadioButton and CheckBox.
* Added a new widget called Slider, and it is a... slider!
* Removed getWidth for glyphs in Font.
* Removed function drawGlyph in Font and in addon SDLTrueTypeFont.
  Added drawGlyph function in ImageFont and DefaultFont.
  drawGlyph in Font is easy to missunderstand and could lead to
  strange implementations of Font.
* Added getCurrentClipArea function in Graphics.
* All functions in container are now virtual (thanks to Garo pointing this out).
* Added function setSize in Widget.
* Added an "addons" directory in the distrobution. It will contain
  usefull classes with Guichan that are not compiled into the library.
  They are not compiled because they need dependencies other then
  Guichans or are to specific. For now, "addons" only contain one
  class, SDLTrueTypeFont giving True Type Font abilities to Guichan
  through the SDL_ttf library and hence will only work with SDLGraphics.
  SDLTrueTypeFont was contributed by Walluce Pinkham (and edited by us).
  Thank you Walluce!
* Added getColor function in Graphics. Implemented in SDLGraphics,
  AllegroGraphics and OpenGLGraphics.
* Fixed a problem with the DropDown widget. When the widget was focused
  with a mouse press, you couldn't select elements with up and down keys.
* Merged drawText, drawTextCenter and drawTextRight into one function
  drawText which takes an alignment parameter (thanks Ted!).
  Widgets taking advantage of this are Button and Label.
* As a result of the added border support, almost every widget have
  been changed for the better, e.g removal of offsets.
* Added support for borders. This is a major API change introducing
  some new functions to Widget.
* Lots of small bugfixes

Version 0.1.0
=============
* Guichan_allegro MSVC 6 compatibility fix.
* TextBox doesn't draw its caret if its not editable.
* Better exception with more information in ImageFont,
  added row spacing and glyph spacing functions.
* Fixed problem in ImageFont when loading a corrupt file.
  It will now throw an exception (thanks Terin!).
* Implemented _getRawData() in AllegroImageLoader.
* Fixed Image. It is now overloadable.
* DropDown sets the colors for its internal widgets if they are
  not custom widgets (not given to the DropDown by the user).
* Now all default widgets respect the alpha channel in the colors.
* Non focusable widgets will now not recieve key input ever.
  In previous version, focused widgets would still remain focused
  after setting them to not be focusable.
* Moved tab handling from Gui to the FocusHandler.
* Splitted setTabable to setTabInEnabled and setTabOutEnabled.
  Widgets can now have different behaviours on tab in and tab out.
  The old setTabable is equivalent to setTabInEnabled.
* isVisisble now checks if parent is visible
* Added alpha channel support in AllegroGraphics for
  drawing primitives
* Added experimental alpha channel support in SDLGraphics
  for 32 bpp
* Added full alpha channel support in OpenGLGraphics
* Fixed OpenGL graphics to disable GL_LIGHTING before draw
* Fixed container problem. Nonvisible widgets no longer
  recieves mouse input.
* Fixed mouse out problem with SDLInput
* Fixed alpha problem with the SDLImageLoader


Version 0.0.1
=============
* Initial release