Skip to content
Cross-Platform GUI Toolkit
Branch: master
Clone or download
JulNadeauCA interlibrary dependencies in LIBS
git-svn-id: https://dev.csoft.net/agar/trunk@10122 86a84d31-9702-0410-8f1e-a60cab7bd424
Latest commit 75c1d44 May 3, 2019
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
ChangeLogs update Nov 18, 2018
ada-demos Updated Ada bindings for Agar-Core. Aug 1, 2018
ada-gui Updated Ada bindings for Agar-Core. Aug 1, 2018
ada Store search paths as self-organizing singly-linked lists instead of … Nov 22, 2018
au _USE_AGAR_NULLABILITY Dec 5, 2018
core
demos moved to ../tests Aug 4, 2012
dev interlibrary dependencies in LIBS May 3, 2019
gui interlibrary dependencies in LIBS May 3, 2019
math interlibrary dependencies in LIBS May 3, 2019
mk interlibrary dependencies in LIBS May 3, 2019
p5-Agar Make dlsymmable versions of inline functions available in lowercase (… Dec 5, 2018
po remove empty .depend files from repository, ./configure will now crea… Jul 27, 2009
tests export agDriverTypeNames[], agDriverWmTypeNames[] Apr 30, 2019
tools avoid format strings in AG_FatalError() Jan 6, 2017
vg fix vg compile error w/o nullability May 1, 2019
CODE_OF_CONDUCT.md improve wording Aug 1, 2018
CONTRIBUTING.md tri:format May 26, 2018
INSTALL.txt refer to the "Installation Guides" section of the website Jul 22, 2012
LICENSE license copy May 25, 2018
Makefile
Makefile.proj set --datadir=NONE on windows Aug 6, 2012
README wording Nov 14, 2018
configure
configure.in fix endianness test on darwin May 2, 2019

README

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

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 works with a wide variety of platforms and graphics systems, from modern
OpenGL-capable desktops to classic consoles and embedded devices. Using the
AG_Driver(3) interface, developers can easily port Agar to new systems
and graphics APIs. Some Agar drivers are designed to work with a native
window system (e.g., "glx", "wgl" and "cocoa"). Others (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 necessarily be aware of the underlying platform.

A set of general-purpose widgets are included in the Agar distribution.
Agar's class registration interface allows new widgets to be implemented
as part of an application or library. The appearance of GUI elements can
be set using a CSS-style syntax (see gui/style.css).

The ag_core library implements Agar's object system, AG_Object(3), as well
as several cross-platform interfaces for accessing operating system services
such as files, dynamic library loading, network services, etc. The object
system provides inheritance, serialization, virtual filesystems and timer
functionality. The core library contains no GUI-related code. Non-graphical
applications can link to ag_core without using ag_gui.

Agar is thread-safe when built with threads support. See the API reference
and AG_Threads(3) for more information about thread safety.

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/)

You can’t perform that action at this time.