212 lines
10 KiB
Plaintext
212 lines
10 KiB
Plaintext
Version 0.6.1
|
|
=============
|
|
* The functions add, remove and clear have been removed from Widget.
|
|
They now reside protected in basic container.
|
|
* Inclusion of OpenGL headers has been fixed on Mac.
|
|
|
|
Version 0.6.0
|
|
=============
|
|
* A lot of function definitions from BasicContainer have been moved down to
|
|
Widget, but Widget doesn't provide any useful implementations of these
|
|
functions. Useful implementations still reside in BasicContainer.
|
|
For container widget implementations inheriting from BasicContainer, as before,
|
|
should work just fine. The reason for the move of definitions is to be able to
|
|
consider a widget a container for the sake of simplicity when it comes to
|
|
distribution of input.
|
|
* The functions Widget::lostFocus andWidget::gotFocus have been renamed to
|
|
Widget::focusLost and Widget::focusGained.
|
|
* DeathListener is a new interface which can be used to listen for a widget's
|
|
death. Because of the presence of death listeners the function
|
|
BasicContainer::_announceDeath has been removed.
|
|
* MouseListener now has the function mouseDragged which is called if a widget
|
|
is dragged.
|
|
* All distribution of input is now handled by the Gui class. Because of this
|
|
all functions regarding input have been removed from the classes Widget
|
|
and BasicContainer.
|
|
* All functions of KeyListener and MouseListener have been renamed. The reason
|
|
for this is that the functions now bear the names of the well known Java
|
|
listeners which will hopefully be more intuitive for most people.
|
|
* All input events can now be consumed making it easier to implement hot key
|
|
bindings.
|
|
* Mouse input (now called mouse events) are now distributed bottom up starting
|
|
from the widget directly under the mouse.
|
|
* Widgets can now ask for modal mouse input focus. A widget with modal mouse input
|
|
focus will be the only widget recieving mouse input, no matter where the mouse
|
|
input occurs. This can be very useful for some widgets, like a drop down which
|
|
acquires modal mouse input focus when folded down to be able to fold back up as
|
|
soon as the mouse is pressed outside of the drop down.
|
|
* Events are now present in Guichan. All listener classes now take event classes
|
|
as parameters which is a very big API change. The presence of events has propagated
|
|
changes to all input classes to better reflect the new usage of events.
|
|
* DropDown now acts on mouse wheel up and mouse wheel down when having focus.
|
|
* ListBox now acts on mouse wheel up and mouse wheel down when having focus.
|
|
* Widgets will no longer acquire focus if a mouse wheel up or a mouse wheel down
|
|
occurs over a widget.
|
|
* The header exception.hpp is now included properly in openglsdlimageloader.hpp.
|
|
* Many small fixes.
|
|
|
|
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
|