<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:syn="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/">
  <channel rdf:about="http://blog.gmane.org/gmane.comp.lib.agar.announce">
    <title>gmane.comp.lib.agar.announce</title>
    <link>http://blog.gmane.org/gmane.comp.lib.agar.announce</link>
    <description/>
    <syn:updatePeriod>hourly</syn:updatePeriod>
    <syn:updateFrequency>1</syn:updateFrequency>
    <syn:updateBase>1901-01-01T00:00+00:00</syn:updateBase>
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lib.agar.announce/3"/>
        <rdf:li rdf:resource="http://permalink.gmane.org/gmane.comp.lib.agar.announce/2"/>
      </rdf:Seq>
    </items>
    <image rdf:resource="http://gmane.org/img/gmane-25t.png"/>
    <textinput rdf:resource=""/>
  </channel>
  <image rdf:about="http://gmane.org/img/gmane-25t.png">
    <title>Gmane</title>
    <url>http://gmane.org/img/gmane-25t.png</url>
    <link>http://gmane.org</link>
  </image>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lib.agar.announce/3">
    <title>Agar-1.3.2 released</title>
    <link>http://permalink.gmane.org/gmane.comp.lib.agar.announce/3</link>
    <description>
Hi,

I am pleased to announce the official release of Agar 1.3.2. The source
code is available from:

http://stable.csoft.org/agar/agar-1.3.2.tar.gz
http://stable.csoft.org/agar/agar-1.3.2.tar.gz.asc
http://stable.csoft.org/agar/agar-1.3.2.tar.gz.md5
http://stable.csoft.org/agar/agar-1.3.2.zip
http://stable.csoft.org/agar/agar-1.3.2.zip.asc
http://stable.csoft.org/agar/agar-1.3.2.zip.md5

Precompiled library and demo packages for various architectures and
operating systems are available from:

http://libagar.org/download.html

As always, your comments, suggestions and bug reports are most welcome.

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).
</description>
    <dc:creator>Agar release announcements</dc:creator>
    <dc:date>2008-03-04T03:28:30</dc:date>
  </item>
  <item rdf:about="http://permalink.gmane.org/gmane.comp.lib.agar.announce/2">
    <title>Agar-1.3 Released</title>
    <link>http://permalink.gmane.org/gmane.comp.lib.agar.announce/2</link>
    <description>
Hi,

We are pleased to announce the official release of Agar 1.3 (The Birth of
an Era Obscured by Sulfur and Flames).

The source code is available from:
http://stable.csoft.org/agar/agar-1.3.tar.gz
http://stable.csoft.org/agar/agar-1.3.tar.gz.asc
http://stable.csoft.org/agar/agar-1.3.tar.gz.md5
http://stable.csoft.org/agar/agar-1.3.zip
http://stable.csoft.org/agar/agar-1.3.zip.asc
http://stable.csoft.org/agar/agar-1.3.zip.md5

Binary packages will begin to appear in a few minutes on the download page:
http://libagar.org/download.html

As always, your comments, suggestions and bug reports are most welcome.

Release Notes for Agar 1.3 
--------------------------

Here are some of the notable changes since Agar 1.2 in no particular order.
This excludes the numerous cosmetic changes that were made. For a complete
list of all changes, see ChangeLog-1.3.txt.

- Merged Agar-MAP (http://hypertriton.com/agar-map/) into the main Agar source
  distribution as a separate library.
- Merged Agar-NET (http://hypertriton.com/agar-net/) into the main Agar source
  distribution as a separate library disabled by default.
- Merged Agar-SC (http://hypertriton.com/agar-sc/) into the main Agar source
  distribution as a separate library.
- Moved all code useful for development and debugging purposes (e.g.,
  AG_ObjMgr, and everything that was in core/monitor) to a separate library
  named Agar-DEV.
- Added a couple of new demos.
- Work around a compilation issue due to recent SDL versions polluting namespace
  with defines such as HAVE_STDLIB_H.
- GUI: Moved Animview widget to RG.
- CORE: Removed all code that had anything to do with graphics.
- RG: Implemented transform chains and caching, based on previous code.
- Add "agarpaint" to the distribution. agarpaint is a pixmap/animation editor
  that demonstrates the use of Agar-RG. All icon sets used by the various
  Agar libraries have been written in agarpaint.
- Removed "core-icons.den" entirely. Icon resources are now built into the
  library and no external files are needed. Implemented "header export"
  function into agarpaint so that other applications and libraries can use
  the same method.
- GUI: Added support for built-in fonts (fonts bundled into the library or
       applications). This is useful for consoles and platforms where files
       are inconvenient (such as Windows when using Cygwin/MSYS build).
- MAP: Implemented MAP_Actor object.
- RG: Added static tile/animation tables, so that external objects can
      rely on names not changing as items are added or removed.
- CORE: Simplify class registration with AG_RegisterClass().
- GUI: In AG_FileDlg(3), use stat(2) where available to determine if files
       are accessible, instead of open(2) which may cause problems with large
       directories (thanks KOC!).
- GUI: Add Flags (bitmask) bindings to AG_Checkbox(3) and AG_Button(3).
- GUI: In AG_Table(3), enforce minimum column width when resizing.
- In the manual pages, avoid using "void *" when referring to Object
  arguments, use the base class instead.
- Implement thread safety in OpenGL mode. The main issue was avoiding texture
  operations outside of widget Draw() operations (i.e., in initializers), so
  a number of widgets were modified to postpone surface mapping operations
  until Draw().
- Introduce an _AGAR_INTERNAL define; clean up header files.
- Change the way internal headers are included so that the build process
  no longer requires symlinks. This fixes non-concurrent building on
  platforms such as MSYS.
- Move from csoft-mk to our new build system, BSDBuild
  (http://hypertriton.com/bsdbuild/). 
- GUI: Eliminate some subtle differences (mostly off-by-ones) in the way
       primitives are rendered in OpenGL vs SDL mode.
- GUI: Implement AG_LABEL_NOMINSIZE flag in AG_Label(3), and use it by
       default in widgets like AG_Titlebar(3). This flag causes the label
       to display a "..." if it is too small to display a string fully.
- GUI: Implement Flag description tables and bitmask bindings in AG_Label(3).
- GUI: Renamed the (previously undocumented) AG_Graph widget to AG_FixedPlotter.
       AG_Graph(3) is now used by another widget to display edges/vertices
       structures.
- CORE: Rework of the Object API for better inheritance support. The Object
        system now automatically invokes object operations (e.g., init,
destroy, etc) for all parent classes. Of course, all classes now need
to be registered with AG_RegisterClass().
- CORE: Renamed AG_ObjectOps -&gt; AG_ObjectClass.
- CORE: AG_ObjectLoad() now automatically does version checking, and the
        load() operation now accepts an AG_Version argument.
- CORE: AG_ObjectDestroy() now automatically uses free(3) on objects that
        did not have the AG_OBJECT_STATIC flag.
- GUI: The AG_Text(3) interface now acts like a state machine in the way
       fonts, colors and other text attributes are specified. Add support
       for multiline text, background colors and justification.
- GUI: Add FooNODUP() variants to various widget functions using surfaces.
- GUI: Implement AG_Graph(3) widget which displays graphs (as in vertices
       and edges). The autoplacer algorithm is still very crude.
- GUI: Add various convenient variants for widget constructor functions.
- GUI: AG_WidgetEnable() and AG_WidgetDisable() is now the preferred way of
       setting widget states.
- GUI: Add more precise left/right/top/bottom padding and spacing parameters
       to various widgets.
- CORE: Add "sender" argument to AG_ForwardEvent().
- GUI: Add Text antialiasing setting.
- GUI: Greatly improve the behavior of widgets when they are scaled to
       extremely small sizes.
- GUI: Implement garbage collection of text glyphs based on time.
- GUI: Implement AG_TextWarning() canned dialog with built-in persistent
       "Don't show again" setting for convenience.
- GUI: Implement AG_WidgetBlitSurfaceGL(), when blitting to transformed
       coordinates is necessary.
- GUI: Improve the behavior of modal windows. Multiple modal windows are
       now allowed.
- GUI: Introduce AG_Numerical(3) as a replacement for both AG_FSpinbutton(3)
       and AG_Spinbutton(3), that can handle both integral and floating-point
       bindings.
- GUI: In AG_Menu(3), store items a single tree instead of multiple trees;
       improve dynamic item support; implement item "state" flag.
- GUI: Provide AG_FileDlgCheck(Read|Write)Access() functions, provide means
       of overriding default ok/cancel behavior.
- CORE: Simplify the Object load/save routines. Provide separate
        AG_ObjectLoadGenericFromFile() and AG_ObjectLoadDataFromFile()
functions.
- CORE: Implement AG_ObjectGenName() and AG_OBJECT_NAME_ONATTACH flag.
- GUI: Remove (previously undocumented) AG_HPane and AG_VPane widgets, they
       are replaced by AG_Pane(3).
- DEV: Make the GUI debugger more useful.
- CORE: Add "tmp-path" and "initial-run" settings to AG_Config(3)
- CORE: Implement AG_Object(Get|Set)ArchivePath(), for use by editors.
- CORE: Rework AG_ObjectChanged() to do an exact comparison instead of
        using checksums.
- CORE: Add portable AG_GetSystemTempDir() and AG_FileDelete() functions
        to compat.
- GUI: Rework the interface for widget sizing. Instead of a single scale()
       operation, we now have size_request() for requisition and
       size_allocate() as a callback for allocation.
- GUI: Make page increment configurable.
- GUI: Implement AG_FileDlgSetDirectoryMRU(3).
- GUI: Widget objects are now provided with unique name strings.
- Import agarrcsd into the main Agar distribution. agarrcsd is the server
  for the built-in AG_Object revision control system which is available when
  compiling with --enable-network.
- GUI: Allow windows to be moved outside of the view area; suggestion
       by phip.
- GUI: On window resize events in OpenGL mode, release and regenerate all
       textures since preservation of the GL context through window resizes
       is a platform-specific matter.
- CORE: Implement AG_GetCPUInfo(), to obtain information about architecture
        extensions in a portable manner.
- GUI: Implement AG_Socket and drag-and-droppable AG_Icon widgets (a frequent
       request by game developers); add ./demos/sockets.
- Provide "project files" for those pesky IDEs. We do this using &lt;build.proj.mk&gt;
  from the new BSDBuild which generates those files for us.
- Merge ag_compat library into ag_core.
- Remove a preposterous amount of unused variables throughout the Agar code.
- Add a number of portability fixes for proper compilation under Visual Studio.
- MAP: Fix crash bug when resizing node attribute grids.
- RG: Fix alpha blending of controls in OpenGL mode.
- CORE: Replace AG_Netbuf with a new API called AG_DataSource, which allows
        new types of data sources to be readily implemented.
- GUI: Implement a new themeing API, AG_Style(3). It allows theme designers
       to change every possible cosmetic aspect of the GUI. Added
       AG_SetStyle(3) function.
- GUI: Improve the AG_Radio(3) API; add hotkey support.
- The manual pages now include a "STRUCTURE DATA" section for structures that
  make some of their members public; suggestion by Julien Clement.
- GUI: Introduce AG_Rect structure.
- GUI: New widget: AG_ProgressBar(3).
</description>
    <dc:creator>Agar release announcements</dc:creator>
    <dc:date>2007-11-29T11:40:04</dc:date>
  </item>
  <textinput rdf:about="http://search.gmane.org/?group=$group=gmane.comp.lib.agar.announce">
    <title>Search Engine</title>
    <description>Search the mailing list at Gmane</description>
    <name>query</name>
    <link>http://search.gmane.org/?group=$group=gmane.comp.lib.agar.announce</link>
  </textinput>
</rdf:RDF>
