Hybrid is a Graphical User Interface toolkit for the D programming language. It is primarily aimed at games (for menus, in-game options, debug consoles, HUDs), their tools and other sorts of multimedia applications, where the GUI can change dynamically.
Hybrid uses a different programming model than most GUI toolkits. GUI code must only appear in one place, instead of being separated into setup, event handling and cleanup. Not only the layout or data can change - the whole model of the GUI may be modified during execution with minimal effort from the programmer.
Hybrid does not currently support any form of lazy updating or rendering, thus may not be suited for applications that don't redraw and update their state every frame.
The current implementation uses an OpenGL-powered backend through the Dog wrapper library with lightweight WinApi and Xlib platform cores.
Hybrid is themeable and configurable with the use of simple, readable, yet powerful config files. Widgets use a minimal-redundancy approach, defining only what's strictly required in the code and relying on configs to describe the rest. This yields not only skinnability for widgets, but also the ability to re-define what they really are, as long as some basic constraints are satisfied.
It is licensed under the MIT license.
To find out more, please refer to the following sections of this wiki: