The fpGUI Toolkit Project
fpGUI Logo


What is fpGUI?

fpGUI Toolkit (or the Free Pascal GUI Toolkit) is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of custom drawn widgets, fpGUI is suitable for projects ranging from small one-off tools to complete application suites.

fpGUI is a 32bit and 64bit 2D graphics toolkit that doesn't rely on any huge third party graphics libraries like GTK+ or Qt. It talks directly to the underlying graphics system (GDI, X11 etc). fpGUI is supported on Unix, Linux, BSD, OpenSolaris, Mac OS X (via X11), Windows, and embedded systems like ARM-Linux and WinCE.

fpGUI is open source and free software, licensed under a Modified LGPL license. The toolkit has been implemented using the Object Pascal language, and is meant for use with the Free Pascal compiler.

Recent News

fpGUI v1.2 released
It's such time again. A year later and another bumper release of fpGUI - full of new features, important improvements and bug fixes.

An archived source download of fpGUI, pre-built binaries for DocView (fpGUI's Documentation Viewer), and pre-build documentation of fpGUI, FPC Language Reference, FPC's RTL & FCL is available for download on SourceForge.

For more details on what has changed, run any of the following commands:

git log --oneline v1.0..v1.2   (console viewer)
gitk v1.0..v1.2   (gui viewer)
fpGUI v1.0 release is out
I'm glad to announce the 1.0 release of fpGUI. This has been over a years worth of development, so a complete list of changes will be to big to list here.

Here are just some highlights:

  • Improvements to the UI (forms) Designer
  • Lot of DocView improvements (Bookmark management, Image decoding support in INF files, RichView component improvements etc.)
  • AggPas integration as an experimental backend. AggPas is a 2D graphics library implemented in 100% Pascal, and includes some amazing features that really enhances the quality of fpGUI's canvas class.
  • New example apps, and improvements to existing demo apps like Maximus and Debug Server.
  • etc.

An archived source download of fpGUI, pre-built binaries for DocView (fpGUI's Documentation Viewer), and pre-build documentation of fpGUI, FPC Language Reference, FPC's RTL & FCL is available for download.

For a list of information as to what is included in the v1.0 release, please see the change-log page.

Code Repository URL changed
SourceForge upgraded their system and told all project admins that they must migrate their projects to the new system. Due to this, the source code repository URL's had to change. Please review the Source Code Repository page on how to update your local repository. There is no need to re-clone the whole fpGUI repository.
fpGUI Canvas now AggPas-powered!
Recently I made a rather large set of commits in the code repository. I have been working on integrating AggPas with fpGUI. AggPas is a very powerful 2D vector based graphics engine, which is a 100% pure Object Pascal implementation of the Anti-Grain Geometry (AGG) graphics library.

At the moment the AggPas-powered Canvas class is optionally enabled via the AGGCanvas compiler define. Some more testing will be done over the next few weeks, before I will consider making it the new default Canvas class.

I tried to make this new canvas class 100% backward compatible. So for those wanting to test this new Canvas, it should be as simple as a recompile.

Here is a work-in-progress screenshots of the new canvas in action.

New website has finally launched
[tap tap tap]... Is this thing on? ;-)

Ready or not, the new website has gone live! I just couldn't justify delaying it any longer.

I've been developing this website on-and-off for nearly 6 months (planning was over a year). Yes, I hate HTML, and that is why it took so long. I split the website into multiple areas, and will add more areas, links and content as time goes by.

With the new website, I would also like to promote some community projects based around fpGUI. So if you have developed some cool project or utility using fpGUI, please let me know via the newsgroups, so we can add your project information.

The website code is also hosted in the SourceForge Git repository. So if you find any mistakes or omissions in the website - patches are welcome. ;-)

As always -- have fun browsing the site and using fpGUI.

Graeme Geldenhuys

fpGUI v0.8 release is out
The v0.8 release contains a lot of new features and enhancements. For a list of information as to what is included in the v0.8 release, please see the change-log page.
fpGUI v0.7 (final release) is out
The v0.7 release contains a lot of added features compared to the previous release. Below is just a small list of things that changed or was added (see the repository log for more details).

The pre-built HTML and INF class documentation will be made available during the next few days. This will include updated Class Documentation for fpGUI, FPC's RTL, FPC's FCL and a special version of FPC's Language Reference document in INF format. I will also include pre-built binaries of DocView (fpGUI's own help viewer) for Linux and Windows, plus instructions on how to integrate DocView with Lazarus IDE and MSEide so you can have context sensitive help from within each IDE's code editor.

For more information as to what is included in the v0.7 release, please see the change-log page.