Lgi

About

LGI is an open source GUI framework (on BitBucket) for abstracting out all the operating system dependencies that you can produce portable code. It handles all the graphical interface functions, threading and semaphores, network connectivity and lots of other bits and peices to help build small, fast and reliable applications.

The strengths of LGI is that it's a small enough library that one person can understand it all. Also it's not too much of a burden on an application, both in increased download time and memory footprint. LGI at the moment compresses to about 519 KiB, which while not insignificant is quite a bit smaller than the other options.

Ultimately however size is a secondary consideration to the core feature of LGI and that is portability. Currently 3 serious ports exist: Windows, Mac and Linux. There is also a legacy Haiku/BeOS port which is unsupported.

I have completed some basic documentation for the library and scripting language, and there are a number of apps with source code available on github.

Downloads

Latest Trunk Code:

hg clone https://bitbucket.org/memecode/lgi Lgi/trunk

IDE:

Developer environement GUI:
Windows x64
v1.0
Stable
Zip
2.7 MiB, 13/11/2018

Resource Editor:

Graphical editor / translation for resource files:
Windows x64 Windows x32
v4.1
Stable
Installer
0.9 MiB, 12/11/2018
v4.0
Stable
Installer
0.8 MiB, 19/9/2017

Lvc:

Cross platform and version control user interface (Git/Hg/Svn/Cvs):
Windows x64 OSX x32 Linux x64
v0.4
Alpha
Zip
2.4 MiB, 23/11/2018
Zip
1.3 MiB, 23/11/2018
v0.1
Alpha
Zip
5.1 MiB, 21/5/2018

Ports Status

Ordered by maturity:
  • Win32/64 (Win7/Win8/Win10)
    This is the most stable and featured port, as it's the plaform I use the most. Everything works in Windows, and it's the fastest due to the speed of the Win32 Graphical Subsystem. I no longer support or test on any version of windows before Win7. The GTK port also works on Windows and you can compile with MingW as well.
  • Mac OS X (>=10.9)
    The stable port of Lgi uses the Carbon API. Due to ongoing frustrations with Cocoa, new 64bit deveopement will target GTK3 for Mac as well as Linux.
  • Linux/Gtk+ (Ubuntu >= 14.04)
    This port to GTK3 and Posix is recent and unstable. There is an older GTK2 port that is stable. Runs on both x86 and ARM instruction sets.
  • SDL
    The SDL port has some GUI functionality. It's not used much. Font support via Freetype2.
  • Haiku (BeOS)
    The BeOS / Haiku port is being removed from Lgi.

Features

Building LGI

First check out the source:
hg clone https://bitbucket.org/memecode/lgi Lgi/trunk

Windows

Support Libraries

For full graphics and charset support download (or check you already have) iconv, libpng and zlib, libjpeg; then add their include paths to your compilers include paths. Or find the defines in Lgi.h for the various libraries and set them to 0.

Visual Studio 2013

Install a supported version of Visual Studio. Build the appropriate workspace:
  • vs2013: Lgi_vs2013.sln

Adding build folders to the shared library path:

Add this to your path:
  • ./Lgi/trunk/lib

Mac

Install XCode

Go to the Apple Developer site and grab XCode

Build

Open Lgi.xcodeproj in XCode and run the build command.

Linux

Building on Ubuntu:
sudo apt-get install git libmagic-dev libgtk3.0-dev libgstreamer1.0-dev
hg clone https://bitbucket.org/memecode/lgi Lgi/trunk
cd Lgi/trunk
ln -s Makefile.linux makefile
make -j 4
If the makefile doesn't work on your system:
  • Download a binary of LgiIde
  • Project->Open and select Lgi/trunk/Ide/LgiIde.xml
  • Project->Create Makefile->Linux
  • Project->Build
History:
A bunch of very old builds. For anything current you should use the git repositry:

3.4.0 [Stable]
Download: Source + Docs [Common, 4730K, 11/5/2011]

Accumulation of fixes and features to date.
3.3.0 [Stable]
Download: Source + Docs [Common, 3764K, 10/6/2009]
3.2.1 [Stable]
Download: Source + Docs [Common, 3674K, 20/10/2008]
3.2.0 [Stable]
Download: Source + Docs [Common, 3636K, 12/9/2008]
3.02 [Stable]
Download: Sources + Docs [Common, 1899K, 4/10/2007]
3.01 [Stable]
Download: Source + Docs Zip [Common, 2982K, 20/6/2007]
3.00 [Stable]
Download: Source + Docs Zip [Common, 2928K, 1/5/2007]
2.30 [Stable]
2.20 [Stable]
Download: Lgi-20060502 [Common, 2827K, 2/5/2006]
Download: Lgi-20060418 [Common, 2686K, 18/4/2006]
Download: Lgi-20051026 [Common, 2730K, 26/10/2005]
2.10 [Stable]
Download: Source+Docs [Common, 2842K, 27/7/2005]
2.00 [Stable]
Download: Source+Docs [Common, 3896K, 26/10/2004]
1.99 [Stable]
Download: Source+Docs [Common, 2609K, 7/5/2004]
1.98 [Stable]
1.97 [Stable]
1.96 [Stable]
1.95 [Unstable]
1.90 [Stable]
1.85 [Stable]
1.80 [Stable]
1.70 [Stable]
1.66 [Stable]
1.65 [Stable]
1.60 [Stable]
1.51 [Stable]
1.50 [Unstable]
1.45 [Stable]
1.40 [Stable]
1.31 [Stable]
1.30 [Stable]