|
Agar is an open-source,
cross-platform toolkit for graphical
applications implemented in C, C++ and Ada (other bindings are in
development).
The Agar GUI takes maximum advantage of hardware graphics acceleration
when it is available, but it also supports plain framebuffer interfaces
such as direct video via
SDL.
When a window system is not available, Agar can even provide its own.
Agar provides two libraries:
Agar-GUI (or "ag_gui") implements the base Agar GUI
system and a comprehensive set of
standard widgets.
When compiled with threads support, Agar achieves thread safety through
efficient, fine-grained locking.
The Agar-Core library implements a compact,
general-purpose object system (Agar-GUI relying heavily on its
inheritance feature), virtual filesystem functionality and various
portability interfaces.
The Agar distribution also includes some more specialized libraries aimed
at specific applications, such as
Agar-MATH,
Agar-RG,
Agar-VG and
Agar-DEV.
Our other toolkits which extend (and rely heavily) on Agar include
FreeSG,
Edacious.
Agar is free software. Its source code is freely usable and re-usable by
everyone under a BSD license, which allows
use in commercial applications free of charge.
Agar is stable, well-maintained and has been growing organically since
early 2002.
The Agar project is sponsored by
Csoft.net:
Security conscious, high-availability Unix hosting on redundant
server arrays.
|
|
The Agar GUI library is designed to work under almost any platform that
provides a graphic display and some kind of input device.
Currently, there are drivers for
SDL and
OpenGL.
The OpenGL mode makes efficient use of hardware acceleration.
The API is simple, object-oriented and unobtrusive (e.g.,
bindings reduce the need for event
handlers to the minimum).
Implementing new widgets as part of an application or library is easy,
and the Agar object system provides you with inheritance, even if you are
only using C.
See the Agar FAQ for more details.
|
|
A portable, general-purpose math library with focus on performance.
It can be compiled against specific precisions and architecture
extensions.
It provides a consistent interface for common operations in basic linear
algebra, complex numbers and computational geometry, independent of
storage format and solver backend.
For example, for the task of solving linear equations it is possible to
switch between ordinary LU decomposition / backsubstitution and a sparse
matrix solver (one based on the excellent
Sparse1.4
is included).
Agar-MATH also extends the Agar-GUI library with bindings support for its
basic types and widgets such as
M_Plotter
and
M_Matview.
|
|
|
A library for generating and manipulating feature-based pixmap
elements (either static or animated). It uses an image format which allows
directives, transformations and instancing of graphical elements.
Website: hypertriton.com/agar-rg/
|
|
A simple 2D vector graphics library which allows developers to specify
hierarchical sketches consisting of elements such as lines, curves and
text. It was designed mainly for editors (the schematics editor in
in Edacious is an
example application).
For dimensioned/constrained technical drawings, the SK library
(in FreeSG) is a better option than
Agar-VG (although still under development).
Website: hypertriton.com/agar-vg/
|
|
| 10/30/2008 |
New stable release: agar-1.3.3 (Blackened Soil Remains)
[
What's new
]
|
| 03/02/2008 |
New stable release: agar-1.3.2 (Landscapes Turn To Ash)
[
What's new
]
|
| 03/02/2008 |
Created
agar-commits
mailing list for automated commit notifications of the Agar source
code exlusively.
Note that the previous source-diff list will continue to receive
notices as well. The new list provides a RSS feed.
|
[Previous announcements]
|
|
If you have any questions, comments or suggestions, don't hesitate to
contact the maintainer.
There are also forums and an
#agar channel on
irc.freenode.net
(here is a web interface to it).
Your feedback and contributions
help us build a better library with better documentation.
Don't hesitate to send us your bug reports and enhancement/feature
requests with
Bugzilla.
|
"A display connected to a digital computer gives us a chance to gain
familiarity with concepts not realizable in the physical world. It is
like a looking glass into a mathematical wonderland."
-- Ivan Sutherland
|