Join GitHub today
GitHub is home to over 36 million developers working together to host and review code, manage projects, and build software together.
Sign up
Cross-Platform GUI Toolkit
http://libagar.org/
JulNadeauCA
git-svn-id: https://dev.csoft.net/agar/trunk@10122 86a84d31-9702-0410-8f1e-a60cab7bd424
Latest commit
75c1d44
May 3, 2019
| Type | Name | Latest commit message | Commit time |
|---|---|---|---|
| Failed to load latest commit information. | |||
|
|
ChangeLogs |
|
|
|
|
ada-demos |
|
|
|
|
ada-gui |
|
|
|
|
ada |
|
|
|
|
au |
|
|
|
|
core | ||
|
|
demos |
|
|
|
|
dev |
|
|
|
|
gui |
|
|
|
|
math |
|
|
|
|
mk |
|
|
|
|
p5-Agar |
|
|
|
|
po |
|
|
|
|
tests |
|
|
|
|
tools |
|
|
|
|
vg |
|
|
|
|
CODE_OF_CONDUCT.md |
|
|
|
|
CONTRIBUTING.md |
|
|
|
|
INSTALL.txt |
|
|
|
|
LICENSE |
|
|
|
|
Makefile | ||
|
|
Makefile.proj |
|
|
|
|
README |
|
|
|
|
configure | ||
|
|
configure.in |
|
|
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/)