A game programming library

GitHub project

TuxFamily project

Allegro - Language bindings

Language bindings

Although Allegro is written in C and C++, and is mainly designed to be used from such, it’s possible to use Allegro from other programming languages.

If you would like to add a link to this page, or there is a dead link which should be fixed/removed, please use the address given at the bottom of the page to contact the webmaster and report the change.

Bindings for Allegro 5

allua
Lua binding to Allegro 5 by Trezker.
lallegro
Lua binding for Allegro 5.2 by gilzoide
AllegroDotNet
C# bindings for Allegro 5 by Sub-C.
Chicken Scheme
Binding for Chicken Scheme by Daniel Leslie.
cl-liballegro
Bindings for Common Lisp by resttime.
DAllegro5
D binding to Allegro 5 by SiegeLord.
go-allegro
Go binding to Allegro 5 by Damien Radtke.
jalleg
Java binding to Allegro 5.2 by Jason Winnebeck.
jllegro
Java Allegro wrapper by Mitchell Larson
Python
The Allegro 5 distribution comes with a basic Python wrapper; see the python directory.
Allegro.pas
Allegro.pas is a wrapper to use Allegro with Pascal compilers like Delphi or Free Pascal.

Bindings for Allegro 4

Ada

AdaAllegro
Leonid Dulman has worked on providing an ADA-95(2005) interface for the Allegro game library.

C++

alBitmap
alBitmap is a C++ Wrapper for the Allegro BITMAP datatype. Features built-in memory allocation/deallocation, inlined functions for bitmap creation, loading, saving, blitting, comparing, plus some convenience functions for printing text with STL’s string type.
Allegro Simplificator
Allegro Simplificator is a C++ wrapper. It provides classes for most Allegro functions and adds some new functionality (cross-platform networking). It comes with some examples and extensive documentation.

C#

AllegNet
AllegNet is a .NET library, coded in C# 2.0 based on Allegro 4.2.0. With AllegNet you can build your own video game in full managed code. So you can use this to build C#, vb.net, J# and C++ managed games.
Mallegro
Mallegro (or Managed Allegro) is a .NET wrapper for Allegro written by Michael Jensen. It promises making Allegro available to C# and VB.NET developers.
SharpAllegro
Sharp Allegro aims to ease game development in C# by using well developed libraries such as Allegro, AllegroGL, MASkinG, and so on.
SharpAllegGL
SharpAllegGL is a .NET wrapper around AllegroGL library, addon of Allegro game development library.

D

DAllegro
Tydr Schnubbis organised an effort to be able to use Allegro from the D programming language.

Lisp

Common Lisp FFI for Allegro
cl-alleg provides a foreign function interface for the Allegro games library. This is built on top of CFFI and so should be portable across multiple common lisp implementations. The author also writes a cl-alleg game development blog at http://gameylisp.blogspot.com/.

Lua

LuAllegro
The goal of the LuAllegro project is to provide a free multi-platform graphics library for Lua. Of course, Allegro is used for this purpose.

Mercury

Mercury
Mercury-Allegro provides a fairly complete set of bindings to Allegro and AllegroGL for the Mercury programming language. It’s available as part of the mercury-extras ROTD (release-of-the-day) distributions on the Mercury web site.

Pascal

Allegro.pas
Allegro.pas is a wrapper to use Allegro with Pascal compilers like Delphi or Free Pascal.

Perl

AlPerl
A Perl interface to Allegro written by Colin O’Leary.

Python

PyAllegro
This page hosts all available Python bindings. There are currently two projects: Alpy (a pure C interface) and PyAlleg (a Pyrex interface).

Scheme

MzScheme
Allegro scheme is a set of MzScheme bindings to Allegro written by Jon Rafkind. Using MzScheme’s nice FFI library it is very easy to bind scheme to any C library. There is a set of bindings directly to Allegro in allegro.ss and a scheme wrapper which should make it easier to use in image.ss.