comparison ext/guichan-0.8.2/ChangeLog @ 378:64738befdf3b

bringing in the changes from the build_system_rework branch in preparation for the 0.3.0 release. This commit will require the Jan2010 devkit. Clients will also need to be modified to the new way to import fife.
author vtchill@33b003aa-7bff-0310-803a-e67f0ece8222
date Mon, 11 Jan 2010 23:34:52 +0000
parents
children
comparison
equal deleted inserted replaced
377:fe6fb0e0ed23 378:64738befdf3b
1 Version 0.8.2
2 =============
3 * Fixed of ImageFont, DefaultFont and HGEImageFont to correctly override the
4 const method Font::getStringIndexAt.
5 * TabbedArea::isOpaque and TabbedArea::setOpaque have been added to
6 control if a tabbed area should draw its background or not.
7 * SDLImage::convertToDisplayFormat now throws an exception if conversion fails.
8 * Improved pkg-config/autotools support.
9 * Fixed text drawn outside of a TextField.
10 * Fixed focus issues when having a TextField inside a Tab.
11 * Fixed compilation with MSVC 2005 and 2008.
12 * Fixed selecting with arrow keys when DropDown is open skipping items
13 * Fixed DropDown inside a TabbedArea looking odd when dropped down.
14
15 Version 0.8.1
16 =============
17 * A couple of minor GCC 3.4.2. issues have been fixed.
18 * Add ons are now refered to as contribs all contribs have been added
19 to the main source directory under the contrib directory. All
20 contribs now also reside in a namespace called contrib.
21 * ScrollArea::isOpaque and ScrollArea::setOpaque have been added to
22 control if a scroll area should draw its background or not.
23 * DELETE is now undefined in Key.hpp if present. It should hopefully
24 take care of some problems with windows.h defining delete which
25 sometimes breaks Key.hpp.
26 * Soname support has been fixed. The correct version number should
27 now be used in the produced binaries.
28
29 Version 0.8.0
30 =============
31 * Widget::showPart has been added to be used when a specific
32 part of a widget should be visible. An example is when a text
33 area wants a specific text part to be visible in a scroll area.
34 This function uses BasicContainer::showWidgetPart.
35 * ListBox::setWrappingKeyboardSelection and
36 ListBox::isWrappingKeyboardSelection have been renamed to
37 ListBox::setWrappingEnabled and ListBox::isWrappingEnabled.
38 * Rectangle::intersect has been renamed to Rectangle::isIntersecting.
39 * Widget::hasModalFocus and Widget::hasModalMouseInputFocus has been
40 renamed to Widget::isModalFocused and Widget::isModalMouseInputFocused.
41 * Widget::generateAction has been renamed to
42 Widget::distributeActionEvent.
43 * All the examples have been improved. Examples have been added for
44 HGE, OpenGL with SDL and for OpenGL with Allegro.
45 * Widget::drawBorder, Widget::getBorderSize and Widget::setBorderSize
46 have been renamed to Widget::drawFrame, Widget::getFrameSize and
47 Widget::setFrameSize.
48 * The alignment enum in Graphics, the orientation enum in Slider and
49 the scroll policy enum in ScrollArea are no longer anonymous enums.
50 * RadioButton::setMarked and RadioButton::isMarked have been
51 renamed to RadioButton::setSelected and RadioButton::isSelected.
52 * CheckBox::setMarked, CheckBox::isMarked and CheckBox::toggle have been
53 renamed to CheckBox::setSelected, CheckBox::isSelected and
54 CheckBox::toggleSelected.
55 * An image button widget, a button capable of displaying an image,
56 has been added.
57 * A widget listener has been added used to listen for resized events,
58 hidden events, shown events and moved events from a widget.
59 * Two new widgets have been added, a tabbed area widget and a tab widget
60 to be used with the tabbed widget.
61 * A selection listener interface has been added used to listen for
62 value change events from a list box and a drop down.
63 * A bug has been fixed where mouse entered and exited events weren't
64 honored when a widget gained or released modal focus or modal mouse input
65 focus.
66 * An id property has been added to Widget. The property can be used to uniquely
67 identify widgets inside a container. BasicContainer and Container have been
68 enhanced with the ability to find a widget given an id. An id can be
69 useful when using GUIs created from an XML file or created with a Gui
70 editor.
71 * An OpenGL image loader that uses Allegro to load images has been
72 added along with an example of how to use Guichan with AllegroGL.
73 * A bug with setting the selection colour for DropDown has been fixed.
74 Before the fix the selection coloured was ignored by the internal
75 ListBox of DropDown.
76 * Distribution of mouse entered and mouse exited events have been fixed.
77 A mouse entered event is distributed to a widget when the mouse enters
78 a widget and a mouse exited event is distributed to a widget as soon
79 as the mouse leaves the widget.
80 * OpenGL true type font has been added as an add on. The font uses the OGLFT
81 font library, http://oglft.sourceforge.net/.
82 * A bug has been fixed where a segfault could occur when a drop down widget
83 was deleted.
84 * Button now has configurable spacing.
85
86 Version 0.7.1
87 =============
88 * A problem with make dist has been fixed to include the source of the
89 addons, the HGE support and the OpenLayer support.
90
91 Version 0.7.0
92 =============
93 * Focus has been changed to be applied synchronously, hence
94 FocusHandler::applyChanges has been removed.
95 * Mouse coordinates in mouse events have been changed so they always are
96 relative to the widget receiving the event and not as before relative to
97 the source widget.
98 * The distribution of key events has changed. Key events are now distributed
99 like mouse events, events are first distributed to the source widget followed
100 by the parents of the source widget.
101 * HGE support has been added.
102 * OpenLayer support has been added.
103 * A focus listener has been added. Due to the addition of a focus listener
104 the functions Widget::focusLost and Widget::focusGained have been removed.
105 To receive widget focus events a widget should now inherit from FocusListener
106 and listen for events from itself.
107 * Many small bug fixes.
108
109 Version 0.6.1
110 =============
111 * The functions add, remove and clear have been removed from Widget.
112 They now reside protected in basic container.
113 * Inclusion of OpenGL headers has been fixed on Mac.
114
115 Version 0.6.0
116 =============
117 * A lot of function definitions from BasicContainer have been moved down to
118 Widget, but Widget doesn't provide any useful implementations of these
119 functions. Useful implementations still reside in BasicContainer.
120 For container widget implementations inheriting from BasicContainer, as before,
121 should work just fine. The reason for the move of definitions is to be able to
122 consider a widget a container for the sake of simplicity when it comes to
123 distribution of input.
124 * The functions Widget::lostFocus andWidget::gotFocus have been renamed to
125 Widget::focusLost and Widget::focusGained.
126 * DeathListener is a new interface which can be used to listen for a widget's
127 death. Because of the presence of death listeners the function
128 BasicContainer::_announceDeath has been removed.
129 * MouseListener now has the function mouseDragged which is called if a widget
130 is dragged.
131 * All distribution of input is now handled by the Gui class. Because of this
132 all functions regarding input have been removed from the classes Widget
133 and BasicContainer.
134 * All functions of KeyListener and MouseListener have been renamed. The reason
135 for this is that the functions now bear the names of the well known Java
136 listeners which will hopefully be more intuitive for most people.
137 * All input events can now be consumed making it easier to implement hot key
138 bindings.
139 * Mouse input (now called mouse events) are now distributed bottom up starting
140 from the widget directly under the mouse.
141 * Widgets can now ask for modal mouse input focus. A widget with modal mouse input
142 focus will be the only widget recieving mouse input, no matter where the mouse
143 input occurs. This can be very useful for some widgets, like a drop down which
144 acquires modal mouse input focus when folded down to be able to fold back up as
145 soon as the mouse is pressed outside of the drop down.
146 * Events are now present in Guichan. All listener classes now take event classes
147 as parameters which is a very big API change. The presence of events has propagated
148 changes to all input classes to better reflect the new usage of events.
149 * DropDown now acts on mouse wheel up and mouse wheel down when having focus.
150 * ListBox now acts on mouse wheel up and mouse wheel down when having focus.
151 * Widgets will no longer acquire focus if a mouse wheel up or a mouse wheel down
152 occurs over a widget.
153 * The header exception.hpp is now included properly in openglsdlimageloader.hpp.
154 * Many small fixes.
155
156 Version 0.5.0
157 =============
158 * Slider now acts on the mouse wheel moving the slider to the left on
159 mouse wheel down and to the right on mouse wheen up.
160 * ListBox now has the ability to wrap keyboard selection. Wrapping means
161 that if the key up is pressed and the first item is selected, then
162 the last item will get selected. If the key down is pressed and the last
163 item is selected, then the first item will get selected.
164 * Redesign of the Image class. Image now has different subclasses for
165 different Graphics objects. The static method load in the Image class
166 loads the appropiate type of image if an ImageLoader is set.
167 * The function action in ActionListener now takes a pointer to the
168 Widget who called the function, it makes handling of action events,
169 hopefully, cleaner.
170 * ScrollArea now scrolls if the open space around the markers is clicked.
171 * ScrollArea now has functions to set the amount to scroll when ScrollArea's
172 buttons are pushed, each button can have it's own amount.
173 * Changed the function name of Widget::hasFocus and FocusHandler::hasFocus
174 to isFocused.
175 * Moved a lot of common container functionality into BasicContainer.
176 This made the code and API a lot cleaner. Affected classes are:
177 BasicContainer - now holds a lot of common functionality for containers.
178 Container - implementation is now a lot smaller.
179 Window - window now inherits from Container and can have several child
180 widgets.
181 ScrollArea - smaller, nicer code.
182 TextBox & ListBox - Takes advantage of the new Container API to get rid
183 of a dynamic cast.
184 * Added drawBackground to ScrollArea to simplify overloading.
185 * Added functions for global KeyListeners in Gui. Global KeyListeners
186 can be just about any object inheriting from KeyListener.
187 * Fixed an offset by one error in AllegroGraphics::_beginDraw.
188 The initial clip area is now correct.
189 * Added alpha blending with SDL for 16bpp and 24 bpp mode.
190
191 Version 0.4.0
192 =============
193 * The GCN_EXCEPTION macro is now capable of determine the function in
194 which the exception was thrown. Also, you can get the function name
195 from the Exception class.
196 * Added a fix to make both versions of drawImage in
197 AllegroGraphics, OpenGLGraphics and SDLGraphics visible
198 and usable.
199 * Optimized fillRect in SDLGraphics slightly when using alpha
200 blending. However, SDLGraphics still needs a lot of optimizing
201 in other parts.
202 * Removed the filename from the Image class, as it wasn't really
203 used for anything.
204 * Updated ImageFont with support for font images with several rows
205 of glyphs.
206 * Added modal focus to widgets. Widgets can now request modal focus
207 stealing all input from other widgets. Can be useful when making
208 dialog windows.
209 * Many small fixes.
210
211 Version 0.3.0
212 =============
213 * Every Guichan library now contains a C function which can be
214 used with autotools check, for instance the Guichan SDL library
215 contains the function gcnSDL wich can be used when struggling
216 with autoconf. Other functions are gcnAllegro in Guichan Allegro,
217 gcnOpenGL in Guichan OpenGL and gcnGuichanVersion in the Guichan
218 core.
219 * Slider now stores only the current selected value and calculates
220 everything from that value. It should take care of some resizing
221 problems. Also, slider has now an orientation, which means you can
222 create a slider which has a vertical or horizontal orientation.
223 The previous slider had only a horizontal orientation.
224 * Fixed alpha problem with images loaded and displayed with SDL.
225 * Added a new widget, the window widget.
226 * SDL.h is now included the proper way meaning you can install
227 SDL anywhere and Guichan will include the right headers as long
228 as sdl-config knows where the headers are.
229 * Added ability to disable widgets.
230 * Changed slightly how focus works. Focus is now applied after the
231 input is processed. This resolved some problems when widgets
232 fight over focus.
233 * Changed the behaviour of the mouse handling. Widgets will get
234 mouse input if the mouse is dragged outside of the widget,
235 even if they don't have focus.
236 * Many small fixes.
237
238 Version 0.2.0
239 =============
240 * Added isPressed() method to the Button.
241 * Doubleclicking now works with SDL
242 * Added --enable-force argument for Allegro, SDL, SDL Image and OpenGL
243 to the configure script which forces Guichan to compile with the
244 forced support.
245 * Updated platform.hpp to be able to handle compilation with MinGW.
246 * Splited DECLSPEC define into GCN_CORE_DECLSPEC and
247 GCN_EXTENSION_DECLSPEC.
248 * Fixed bugs in ScrollArea and DropDown involving focus and mouse input,
249 * Changed the look when CheckBox is marked.
250 * Changed the look when CheckBox and RadioButton are focused.
251 They now draw a rectangle around their captions (common behaivour in Guis).
252 * Removed unaccesary logic functions (which didn't do anything) in
253 widget RadioButton and CheckBox.
254 * Added a new widget called Slider, and it is a... slider!
255 * Removed getWidth for glyphs in Font.
256 * Removed function drawGlyph in Font and in addon SDLTrueTypeFont.
257 Added drawGlyph function in ImageFont and DefaultFont.
258 drawGlyph in Font is easy to missunderstand and could lead to
259 strange implementations of Font.
260 * Added getCurrentClipArea function in Graphics.
261 * All functions in container are now virtual (thanks to Garo pointing this out).
262 * Added function setSize in Widget.
263 * Added an "addons" directory in the distrobution. It will contain
264 usefull classes with Guichan that are not compiled into the library.
265 They are not compiled because they need dependencies other then
266 Guichans or are to specific. For now, "addons" only contain one
267 class, SDLTrueTypeFont giving True Type Font abilities to Guichan
268 through the SDL_ttf library and hence will only work with SDLGraphics.
269 SDLTrueTypeFont was contributed by Walluce Pinkham (and edited by us).
270 Thank you Walluce!
271 * Added getColor function in Graphics. Implemented in SDLGraphics,
272 AllegroGraphics and OpenGLGraphics.
273 * Fixed a problem with the DropDown widget. When the widget was focused
274 with a mouse press, you couldn't select elements with up and down keys.
275 * Merged drawText, drawTextCenter and drawTextRight into one function
276 drawText which takes an alignment parameter (thanks Ted!).
277 Widgets taking advantage of this are Button and Label.
278 * As a result of the added border support, almost every widget have
279 been changed for the better, e.g removal of offsets.
280 * Added support for borders. This is a major API change introducing
281 some new functions to Widget.
282 * Lots of small bugfixes
283
284 Version 0.1.0
285 =============
286 * Guichan_allegro MSVC 6 compatibility fix.
287 * TextBox doesn't draw its caret if its not editable.
288 * Better exception with more information in ImageFont,
289 added row spacing and glyph spacing functions.
290 * Fixed problem in ImageFont when loading a corrupt file.
291 It will now throw an exception (thanks Terin!).
292 * Implemented _getRawData() in AllegroImageLoader.
293 * Fixed Image. It is now overloadable.
294 * DropDown sets the colors for its internal widgets if they are
295 not custom widgets (not given to the DropDown by the user).
296 * Now all default widgets respect the alpha channel in the colors.
297 * Non focusable widgets will now not recieve key input ever.
298 In previous version, focused widgets would still remain focused
299 after setting them to not be focusable.
300 * Moved tab handling from Gui to the FocusHandler.
301 * Splitted setTabable to setTabInEnabled and setTabOutEnabled.
302 Widgets can now have different behaviours on tab in and tab out.
303 The old setTabable is equivalent to setTabInEnabled.
304 * isVisisble now checks if parent is visible
305 * Added alpha channel support in AllegroGraphics for
306 drawing primitives
307 * Added experimental alpha channel support in SDLGraphics
308 for 32 bpp
309 * Added full alpha channel support in OpenGLGraphics
310 * Fixed OpenGL graphics to disable GL_LIGHTING before draw
311 * Fixed container problem. Nonvisible widgets no longer
312 recieves mouse input.
313 * Fixed mouse out problem with SDLInput
314 * Fixed alpha problem with the SDLImageLoader
315
316 Version 0.0.1
317 =============
318 * Initial release