MASkinG - Miran Amon's Skinnable GUI Library
As the name suggests MASkinG is a library for writing GUI's in C++. It is an addon library for the Allegro game programming library which means that it only works with Allegro. MASkinG is based on the DeGUI library, written by Doug Eleveld. DeGUI is basically a C++ wrapper for the Allegro GUI code that I've extended with support for skins, movable and resizable windows, additional widgets, etc.
Latest stable version
The latest somewhat stable version of the MASkinG library is v0.79, last updated on April 3rd, 2005. This is a beta release intended for testing although most parts are stable enough to be used in a serious project. Scroll down this page to the downloads section to get it. The previous version is also available in case you need it for some obscure reason. In order to compile MASkinG you will also need the alfont library by Javier Gonzalez. You can get it here or alternatively if the official page is down, in the dowloads section below.
Latest CVS version
This library is being worked on continuously. All changes to the source code are submitted to the SourceForge CVS server. This means that the stable version may already be outdated by the time you read this but it also means that some things might not be working properly and documentation might be missing.
If you need the latst development version of MASkinG, you can download it from the CVS server with a CVS client by typing the following commands in a console at the directory where you want to download the code:
cvs -d:pserver:email@example.com:/cvsroot/masking login
cvs -z3 -d:pserver:firstname.lastname@example.org:/cvsroot/masking co -P MASkinG
If you're asked for a password, just press enter.
MASkinG already comes with a few skins but it's true power lies in the possibility of making new ones. You have two choices: you can either make a general purpose skin that will work with more or less any MASkinG application or you can make a skin for a specific purpose. If you make a nice skin I would really appreciate it if you sent it to me so I could put it on this site.
Here are a few screenshots of the test and example programs.
|ex03.exe with Selenium.ini|
|ex04.exe with QNXAmiga.ini|
|ex05.exe with Selenium.ini|
|MASkinG (CVS)||0.80||23.06.2006||-||go here to get the latest greatest version||Miran Amon|
|MASkinG (stable)||0.80||23.06.2005||923k||Miran Amon's Skinnable GUI Library version 0.80||Miran Amon|
|MASkinG (old)||0.65||20.02.2003||584k||a prehistoric version of MASkinG||Miran Amon|
|AllegroFont||1.91||07.04.2004||1320k||Javier Gonzalez' Allegro Font library v1.91.||Javier Gonzalez|
Here are links to some of the projects that use MASkinG.
|Quad||my first game ever (it's a simple puzzle game)|
|Centipede||a simple snakes clone (doesn't work with newer releases of MASkinG though)|
|Allegro Font Editor||bitmap font editor and converter utility for Allegro|
|Bookworm||e-book reader application|
|TEGEL||tilemap library for Allegro with a tilemap editor application|
|Sparklet||networked multiplayer 2D space shooter game|
|Allegro Mini Game Collection 2||A collection of Allegro minigames and a platform for developing such games.|
|Dodger||A fun little arcade game written in less 72 hours for TINS 2006|
|Seppl's Sprite Editor||A tool for creating animated sprites out of several bitmaps, so if you change a bitmap used by a sprite, every frame of the sprite of will change, too. Useful for making different sprites of persons with the same movement.|