Agar project produces a portable and window system independent graphics toolkit for SDL and OpenGL.
In addition to a fully functional GUI toolkit, a set of higher-level graphics related libraries are also included in Agar. For a complete listing, see the Agar libraries page.
Agar is free software. The Agar source code is freely usable and re-usable by everyone under the BSD license.
Agar is written in ANSI C and is portable to all the platforms supported by the SDL library. The library and its related projects has been in active development since 2001. The project is sponsored by csoft.net hosting.
What's New in This Release: [ read full changelog ]
· Port to Xbox (thanks Michael J. Wood!).
· Widget code can now use the AG_Redraw() interfaces to trigger rendering. The generic event loop uses this information to avoid unnecessary video updates -- custom event loops should be modified to test for the window "dirty" flag to take advantage of this feature.
· Fixed compilation with --disable-legacy option.
· Implemented AG_SurfaceFromPNG() and AG_SurfaceFromJPEG().
· Fixed crash bug in AG_SurfaceFromSDL(); thanks trapdoor!
· Added AG_SetJPEGQuality(), to set quality used by AG_SurfaceExportJPEG().
· Merge --enable-foodebug into --enable-objdebug; remove lockdebug.
· Upgrade build system to BSDBuild 2.8. Note that stale ./agar-config/ and ./agar-foo-config/ directories may break the build and should be removed before ./configure is executed.
· Fix deadlock condition with the AG_Timeout(3) interface when timers are scheduled in reverse order; thanks to Jakob Reschke for the fix!
· Fixed UTF8 conversion bug with 3-byte sequences; thanks Jerry Huang!
· Fixed coordinates offset for popup menus under single-window drivers.
· Numerous improvements to the API reference. Added AG_DriverGLX(3), AG_DriverWGL(3), AG_DriverSDLFB(3), AG_DriverSDLGL(3), AG_DriverMw(3) and AG_DriverSw(3), AG_InitGraphics() manual pages.
· Fixed crash bug with AG_TEXTBOX_STATIC and AG_EDITABLE_STATIC.
· Added "STRUCTURE DATA" section to AG_Window(3).
· Added missing SDL_LockSurface() calls in sdlfb/sdlgl drivers.
· AG_InitGraphics() can now accept driver initialization arguments.
· Avoid use of gettimeofday() on cygwin platform.
· MATH: Fix type conversion warnings.
· Implemented AG_DirDlg(3) directory selection widget.
· Implemented AG_Anim(3) interface.
· WGL: Terminate application by exiting the event loop instead of using exit().
· In AG_Scrollbar(3), implement AG_SCROLLBAR_AUTOHIDE option.
· Fix compilation issues under MinGW / MSYS (thanks Joergen!)
· WGL: Post a "window-gainfocus" event when a window is focused for the first time on creation.