From Free Pascal wiki
Jump to navigationJump to search

English (en) español (es)

fpGUI is a Object Pascal toolkit for cross-platform application development. It provides single-source portability across Linux, MS Windows, *BSD, Solaris/OpenSolaris, ReactOS and embedded devices like Embedded Linux and Windows CE. fpGUI Toolkit can be used for Open Source and Commercial applications.

fpGUI is a widgetset completely written in Object Pascal. It links directly with the underlying windowing system (Xlib, GDI), and thus avoids the need for many large external libraries (eg: Qt, GTK etc). The main design goal is to get a consistent look and behavior across platforms.

Latest released version: v1.4.1 (2015-09-02).

For more information, see the fpGUI Toolkit website at:

Complete documentation.

Detailed documentation is here =>

fpGUI is also on GitHub.

Last stable version =>

Last develop (trunk) version (very stable too) =>

Installing fpGUI:

Go to fpGUI site:

Last stable version is in the 'master' branch =>

The 'develop' branch contains the latest changes (and normally very stable too) =>

-Click on Download ZIP button, on right side...

-Unzip it.

Compile fpGUI code from terminal:

You may use a extrafpc.cfg file and @extrafpc.cfg as fpc parameter.

=> Example of extrafpc.cfg file (change fpGUI_dir according of your installation and save extrafpc.cfg in same directory as application-code):


And you may compile your fpGUI application like that :=>

> fpc myfpguiapp.pas @extrafpc.cfg

Compile fpGUI code from Lazarus:

Configure Lazarus for hosting pure fpGUI applications: =>

- in Package, => Open Package (.lpk)


- for Windows : <fpgui>/src/corelib/gdi/fpgui_toolkit.lpk
- for Linux/FreeBSD/OSX : <fpgui>/src/corelib/x11/fpgui_toolkit.lpk

Compile the package.

Now you may compile pure fpGUI applications with Lazarus.


fpGUI uses the LGPL v2 license with a static linking exception - the same as the Free Pascal Compiler's RTL.


A dedicated support newsgroup exists for fpGUI Toolkit. Connection details are as follows:

NNTP Server geldenhuys.co.uk
Port 119
Group fpgui.support

Any News Client (eg: Mozilla Thunderbird, XanaNews, Opera Mail etc) can be used to connect to the news group. This is by far the best option and gives you the freedom to use your preferred news client software.

In a pinch, there is also a HTML webnews interface. This interface has some limitations (eg: attachments), but is good enough to read and reply to messages when on the go via a web browser (smartphone or desktop). To access the HTML interface, visit the following URL: [http://geldenhuys.co.uk/webnews/]


This is a small sample of what the fpGUI Toolkit's new 2D graphics engine can do. Full sub-pixel accuracy, anti-aliased line drawing, anti-aliased text, alpha blending, fully customisable gradient and dash-line generator, gamma support etc. The 2D graphics engine is also fully implemented in Pascal, so no external libraries are required, and makes it very portable to other platforms.

A demo application showing some AggPas rendering capabilities, now built into fpGUI Toolkit.
A sample application showing one of the seven built-in themes.

More of fpGUI's built-in themes can be seen by visiting this URL.

See also