Release Notes for Agar 1.3.2 (Landscapes Turn to Ash) ----------------------------------------------------- Here are some of the notable changes since Agar 1.3.1 in no particular order. For a complete list of all changes, see ChangeLog-1.3.2.txt. - Thorough audit and clean up of thread-safety code. It is now safe to combine threads and OpenGL. The big VFS lock has been removed (AG_LockVFS now locks its argument's VFS root). - Compilation fixes for MacOS X 10.5. - Various manual page updates and improvements. - The --enable-nls configure option works again; updated French translation. - CORE: Implemented AG_ObjectSetDebugFn(), AG_ObjectSuperclass(). - CORE: Added LOCKDEBUG compile option for expensive per-object lock debugging. - GUI: The AG_Textbox(3) widget has been mostly rewritten. A lower-level AG_Editable(3) widget is now provided, and AG_Textbox(3) now mostly augments that functionality with padding, scrollbars and labels. - GUI: Multiline text edition has been improved significantly. - GUI: Added traditional ISO-8859-1 combination keymap for AG_Textbox(3). - GUI: It is now possible to bind an ASCII-only text buffer to AG_Textbox(3), in cases where UTF-8 is not desirable. - GUI: Added cursor manipulation routines to AG_Textbox(3)/AG_Editable(3). - GUI: Implemented iconification of windows in the built-in window manager; added AG_WindowSetIcon() to change the default icon. - GUI: Implemented AG_IconSetText() in AG_Icon(3). - GUI: Fixed undersize behavior of AG_Menu(3). - GUI: Added support for quad-precision floating point bindings for systems where the type is supported. - GUI: Adjusted numerical limit definitions that would cause problems with some compilers. - GUI: Implement AG_DrawBoxRounded(). - GUI: Fix multiline text rendering in AG_TextRender(); fix from Renato Aguiar. - GUI: Implement AG_CheckboxNewFn(), AG_CHECKBOX_SET. - GUI: Various cosmetic fixes with the default theme. - GUI: Add AG_FILEDLG_ASYNC flag to AG_FileDlg(3). - GUI: Make theme changes effective immediately in AG_SetStyle(). - GUI: Allow arbitrary widgets to be embedded into AG_Table(3). - GUI: Implement AG_TableSetSeparator(). - GUI: Add AG_NumericalNewFoo() constructors to AG_Numerical(3). - GUI: Keep the stack of saved OpenGL clipping planes in the Widget structure itself to avoid implementation-specific OpenGL stack limits. - GUI: AG_WidgetMapSurface() is now safe to invoke from any context, which should simplify widget code. In OpenGL mode, the actual texture uploads and deletions are now queued for execution in rendering context. - GUI: Implement AG_WidgetBlitSurfaceFlippedGL(). - GUI: Fix off-by-ones in OpenGL clipping plane setup. - GUI: Fix mouse-wheel scrolling in AG_Table(3). - GUI: Implemented AG_ScrollbarSet{Inc,Dec}Fn() for special applications. - GUI: Implemented AG_WindowRestoreGeometry(), AG_WindowUnminimize(). - GUI: Implemented AG_WINDOW_HMAXIMIZE and AG_WINDOW_VMAXIMIZE flag into AG_Window(3) to preserve maximization through VIDEORESIZE. - GUI: Fixed text truncation in AG_Titlebar(3). - GUI: Implemented AG_ClearGlobalKeys(). - GUI: Implemented AG_SocketOverlayFn(). - GUI: Fixed keyboard handling in AG_Table(3) and AG_Tlist(3). - GUI: New widget: AG_Slider(3). - SC: Added documentation for SC_Plotter(3).