_ _ _ ___ / _ \ / _ \ / _ \ | _ \ | |_| | | (_| | | |_| | | |_) | |_| |_| \__, | |_| |_| |_| |_| |___/ 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 under any graphics system, on any platform. Some graphics drivers are single-display (e.g., sdlfb, sdlgl), and other drivers can provide multiple "native" windows (e.g., glx). Multiple Agar windows are supported regardless of the underlying graphics driver. Under single-display drivers, Agar emulates a window manager internally. The Agar application need not to be aware of the underlying graphics system. The OpenGL graphics drivers are preferred where hardware acceleration is available. Drivers for direct rendering to framebuffers are also provided. As far as the default "theme" is concerned, the appearance of GUI elements is unchanged across graphics drivers. A set of standard, common 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 Agar-Core library provides various utility and portability interfaces, as well as the "object system" used by Agar and several other libraries. The object system implements inheritance, serialization, virtual functions, timers, threads and variable bindings. 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 Agar Manual, available online at: http://wiki.libagar.org/Manual/. - The API Reference. This is a detailed description of all public Agar structures, objects and functions. On Unix-like systems, it is installed in traditional manual page format (see AG_Intro(3)). The API Reference is also available online at: http://libagar.org/man3 - The Agar Wiki (user-contributed tutorials, code snippets, etc.), at: http://wiki.libagar.org/ 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. It has even been ported to various consoles such as the GP2x, Nintendo Gamecube/Wii, Sony Playstation2 and Nintendo DS. For the list of official ports, 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. Other libraries based on Agar ----------------------------- There are a number of useful libraries based on Agar. Some of them are bundled with this source distribution (Agar-VG, etc), but you will need to explicitely link your application against them in order to use them. 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/)