

WonderGUI is a Graphical User Interface Toolkit written in C++. Just like other,
GUI toolkits such as Qt, GTK, MFC, Swing etc it provides a user interface for your
program with buttons, checkboxes, menus etc.
What makes WonderGUI different from other GUI toolkits is that it doesn't have a
standard look and feel, instead WonderGUI is made to bring your own unique user interface
to life with the look and feel that you design.
WonderGUI is also built for easy integration into an existing code base. It doesn’t
run your main loop, initialize your application window or assume to be the only code
drawing in your window. Instead, you tell WonderGUI about mouse and keyboard events
and the screen regions where widgets should be redrawn.
This makes WonderGUI an excellent toolkit for games and media applications.

Customizable look and feel
The look and feel of WonderGUI is customizable way beyond your standard GUI toolkit.
All widgets can be skinned individually using bitmaps that can have borders and
transparency. These are stretched and tiled to fit the geometry of the widgets
following some simple rules.
Also, the layout engine provides the flexibility needed to freely place widgets on
the screen in an intuitive and efficient way. Transparency and
various blend effects are supported as standard.

Easy integration
WonderGUI is easy to integrate into your existing code base. At most you will need to
overload three simple classes and add some code to forward mouse and keyboard events
to WonderGUI. Add another hundred lines of code for some basic initialization
(load fonts to use, define graphics blocks to be used for widgets etc) plus a few
API-calls for your main loop and you are ready to start adding fully functional
widgets to your program.
If you are using OpenGL, Metal, SDL or pure software rendering it will be even easier since
all needed classes and a lot of useful code snippets are provided in the package.

High performance graphics
WonderGUI doesn’t use any advanced or slow drawing primitives. Everything is drawn
using a few simple drawing primitives and bitmaps that are scaled, tiled and blended onto the screen. As long as your
graphics backend can do fast, rectangular 2D-blits you will get great performance.
WonderGUI also works hard to avoid unnecessary redraws of areas that are covered by other opaque objects.
This is especially helpful on slower hardware and systems where only software rendering is available.

Flexible licensing
WonderGUI is available for commercial developers, hobby developers and open source
developers under different licenses, providing affordable licensing with a support
level to match for all interested parties. Discounts for batch licensing multiple
products are available. Open source developers can use WonderGUI for free under the
terms of the GPL.
Licensing applies to programs that are to be released or deployed within an organization.
There is no need for a license to develop a product as long as the appropriate license
is obtained before the program is released/deployed.

Under development
Although development of WonderGUI started more than 20 years ago and the toolkit has been
used in commercial high-profile projects for more than 14 years, it is still a work in
progress. Bugs are present, some functionality is missing, documentation is very
limited and parts of the API are subject to change.
Currently WonderGUI is recommended for developers who feel that they can get by with
the limited documentation by reading the source code and provided examples.