LibAgar

is creating a portable, open-source GUI system

2

patrons

$3

per month
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, a set of software libraries for building graphical user interfaces.

Agar runs on a wide variety of platforms and graphics systems, from modern desktops to classic consoles and embedded devices. Agar's low-level layers are modular, extensible and easily ported to new hardware platforms and graphics systems. Standard Drivers include:

  • sdlfb (SDL, frame-buffer)
  • sdlgl (SDL, OpenGL)
  • glx (X11, OpenGL)
  • cocoa (MacOS X, OpenGL)
  • wgl (Windows, OpenGL)

For window-less graphics systems such a frame-buffers, a single-window mode is provided (with an internal window-manager).

A set of general-purpose GUI elements / widgets are included in the Agar distribution. Agar's class registration interface allows new widgets to be implemented externally (i.e., as part of an application or library). Styling is done using a form of Cascading Stylesheets loosely inspired from CSS.

Agar is Thread-Safe when built with threads support.

Libraries included

  • CORE: Platform, I/O, Object System
  • GUI (Base): GUI Frameworks
  • GUI (Widgets): GUI Standard Widgets
  • MATH: Matrices, Vectors, Advanced Rendering Methods
  • SG: 3D Engine
  • SK: 2D Sketch and Constraint Solver
  • RG: Feature-based Tile Graphics
  • AU: Audio Interface Library
  • MAP: Simple Tile Engine
  • VG: Simple Vector Graphics

CORE implements Agar's Object System, a single-inheritance system that can be used from different languages (for example, it is possible to subclass an Agar class written in C with one written in Ada and vice-versa). Agar objects are serializable and arranged as a virtual filesystem. The CORE library is non-graphical and usable by command-line programs or daemons. It provides simple interfaces to operating system services such as filesystem access, dynamic library loading, network services, process execution, I/O multiplexing, timers and threads.

How do I install it?

Download the Latest Stable Sources.
See the Agar Installation Guides.

On FreeBSD, use "pkg install agar".

Developers can access the Latest Development Sources (SVN), or JulNadeauCA/libagar on GitHub.

Portability

Agar is portable to 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 been ported to game consoles such as the GP2x, the Nintendo Gamecube/Wii and  the Xbox. A port to CBM and other 8-bit machines is currently in the works.

License

BSD 2-clause license

Tiers
Agar Supporter
$1 or more per month

Support Agar's development. Get access to Patreon-exclusive code, demos and tutorials.

Agarian
$5 or more per month

Get access to more Patreon exclusives (code, demos, tutorials). 

With your permission, your name mentioned in the upcoming Agar release announcement. Access to the latest issue of Powerful Agar as a digital download.

Powerful Agar
$10 or more per month

Get all the benefits of the $5 tier plus a physical copy of Powerful Agar once every 3 months. A glossy, full-color magazine with tutorials, courses and articles, Powerful Agar comes with media of your choice (cassette, 1.44" or 5.25" floppy, CD, DVD or Mini-DVD).

Commercial Support - Basic
$25 or more per month

Get personalized support from the lead author of Agar over e-mail or chat. Get all the benefits of the previous tiers.

Commercial Support - Premium
$40 or more per month

Your bug reports and feature requests are assigned the highest priority. Get all the benefits of the previous tiers.

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, a set of software libraries for building graphical user interfaces.

Agar runs on a wide variety of platforms and graphics systems, from modern desktops to classic consoles and embedded devices. Agar's low-level layers are modular, extensible and easily ported to new hardware platforms and graphics systems. Standard Drivers include:

  • sdlfb (SDL, frame-buffer)
  • sdlgl (SDL, OpenGL)
  • glx (X11, OpenGL)
  • cocoa (MacOS X, OpenGL)
  • wgl (Windows, OpenGL)

For window-less graphics systems such a frame-buffers, a single-window mode is provided (with an internal window-manager).

A set of general-purpose GUI elements / widgets are included in the Agar distribution. Agar's class registration interface allows new widgets to be implemented externally (i.e., as part of an application or library). Styling is done using a form of Cascading Stylesheets loosely inspired from CSS.

Agar is Thread-Safe when built with threads support.

Libraries included

  • CORE: Platform, I/O, Object System
  • GUI (Base): GUI Frameworks
  • GUI (Widgets): GUI Standard Widgets
  • MATH: Matrices, Vectors, Advanced Rendering Methods
  • SG: 3D Engine
  • SK: 2D Sketch and Constraint Solver
  • RG: Feature-based Tile Graphics
  • AU: Audio Interface Library
  • MAP: Simple Tile Engine
  • VG: Simple Vector Graphics

CORE implements Agar's Object System, a single-inheritance system that can be used from different languages (for example, it is possible to subclass an Agar class written in C with one written in Ada and vice-versa). Agar objects are serializable and arranged as a virtual filesystem. The CORE library is non-graphical and usable by command-line programs or daemons. It provides simple interfaces to operating system services such as filesystem access, dynamic library loading, network services, process execution, I/O multiplexing, timers and threads.

How do I install it?

Download the Latest Stable Sources.
See the Agar Installation Guides.

On FreeBSD, use "pkg install agar".

Developers can access the Latest Development Sources (SVN), or JulNadeauCA/libagar on GitHub.

Portability

Agar is portable to 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 been ported to game consoles such as the GP2x, the Nintendo Gamecube/Wii and  the Xbox. A port to CBM and other 8-bit machines is currently in the works.

License

BSD 2-clause license

Recent posts by LibAgar

Tiers
Agar Supporter
$1 or more per month

Support Agar's development. Get access to Patreon-exclusive code, demos and tutorials.

Agarian
$5 or more per month

Get access to more Patreon exclusives (code, demos, tutorials). 

With your permission, your name mentioned in the upcoming Agar release announcement. Access to the latest issue of Powerful Agar as a digital download.

Powerful Agar
$10 or more per month

Get all the benefits of the $5 tier plus a physical copy of Powerful Agar once every 3 months. A glossy, full-color magazine with tutorials, courses and articles, Powerful Agar comes with media of your choice (cassette, 1.44" or 5.25" floppy, CD, DVD or Mini-DVD).

Commercial Support - Basic
$25 or more per month

Get personalized support from the lead author of Agar over e-mail or chat. Get all the benefits of the previous tiers.

Commercial Support - Premium
$40 or more per month

Your bug reports and feature requests are assigned the highest priority. Get all the benefits of the previous tiers.