    _       _       _     ___  
  / _ \   / _ \   / _ \  |  _ \ 
 | |_| | | (_| | | |_| | | |_) |
 |_| |_|  \__, | |_| |_| |_| |_|
          |___/                 

What is it?
-----------
Agar is a type of sugar polymer obtained from seaweed and red algae. Agar
becomes gelatinous in water and is primarly used as a culture medium for
microbiological work. Agar is also the name of an open source GUI toolkit.

Agar is designed to work with any graphics system, under any platform. The
interface between Agar and the underlying OS is implemented as a modular
"driver". Some Agar drivers are designed to work with a native window
system (e.g., "glx", "wgl" and "cocoa"). Other Agar drivers (such as
"sdlfb" and "sdlgl") work with a single display, with Agar providing a
built-in window manager. Since Agar provides a consistent programming
interface, developers need not to be aware of the underlying platform.

A set of general-purpose widgets are included in the Agar-GUI library.
Agar is designed such that new widgets can be easily implemented as part
of a separate third-party library or application. The appearance of Agar
GUI elements is configurable both programmatically and parametrically.

The Agar-Core library provides various utility and portability interfaces,
as well as the object system used by Agar, AG_Object(3). The object system
implements inheritance, serialization, virtual functions, timers, threads,
and variable bindings. Agar-Core contains no GUI-related code; applications
may link to Agar-Core without linking to Agar-GUI.

Agar is entirely thread-safe when built with thread support. Thread-safety
considerations are documented in the API reference; see AG_Threads(3) for
details.

Documentation
-------------
- The online API Reference. This is a detailed description of all
  public Agar structures, objects and functions, at:
  http://libagar.org/man3
- On Unix-like platforms, the API reference is also available in
  traditional manual page format; see AG_Intro(3).
- The Agar Manual (work in progress), at:
  http://libagar.org/man/.

Installation
------------
Step-by-step installation guides are available for various platforms.
Refer to the "Installation Guides" section of the Agar documentation
page at: http://libagar.org/docs/.

Availability
------------
Download the most recent Agar version from the Agar home page at:
http://libagar.org/download.html.

Portability
-----------
Agar is portable to many different platforms, including FreeBSD, IRIX,
Linux, MacOS Classic, MacOS X, NetBSD, OpenBSD, Solaris and Windows. Agar
has been used on ARM embedded devices. It has even been ported to game
consoles such as the GP2x, the Nintendo Gamecube/Wii and the Xbox. See:
http://libagar.org/portable.html.

License
-------
Agar is freely distributable under the terms the "new" BSD license:
http://libagar.org/license.html.

How to contribute
-----------------
See: http://libagar.org/contribute.html.

Libraries and toolkits based on Agar
------------------------------------
Here are some useful libraries which implement new Agar widgets and
extend Agar's functionality toward more specific applications:

Agar-AU		Portable audio interface (bundled, use `agar-au-config`)
Agar-MATH	General-purpose math library (bundled, use `agar-math-config`)
Agar-VG		Vector graphics library (bundled, use `agar-vg-config`)
Agar-RG		Raster graphics library (bundled, use `agar-rg-config`)
Agar-DEV	Developer/debugging tools (bundled, use `agar-dev-config`)
FreeSG		2D/3D graphics engine (http://freesg.org/)
Edacious	Electronics design (http://edacious.org/)
CADTools	Computer-aided design (http://cadtools.hypertriton.com/)

