From WiiBrew
< User:Glatzemann
Jump to navigation Jump to search
Wiimote1.svg WiiMote2.svg Wiimote3.svg Wiimote4.svg SensorBar.svg Loads files from the Front SD slot Loads files from SDHC cards in the Front SD slot

libGUI is a GUI rendering library ported from a pc project of me to the wii. It uses GX and is written in C++ and makes the creation of graphical user interfaces very easy.

For assisting the development of your GUI theres a simulation modus for Win32 systems using OpenGL with emulation of up to four wiimotes with your mouse.

After releasing a stable version of libGUI I will start to make some changes on my gui/skin editor (sorry, windows only, too) TeEd. It is a wysiwyg application for creating and editing gui's for libGUI.

More info about libGUI will follow in the next days.


  1. install devkitpro
  2. extract the libGUI archive to your development path
  3. include the libGUI header file


Tutorials will follow upon release of libGUI

Current Progress

  • Resource-Manager (50%)
    • manages Textures, Materials, Fonts and Skins (dynamic loading, unpacking and unloading)
    • loading of png, bmp, jpg and raw
    • loading of xml configuration files with all informations to create "multi screen guis"
    • loading of binary files with all data for guis (textures, materials, gui definitions)
    • loading of linked data for guis (textures, materials, gui definitions)

  • Font-Manager (25%)
    • managing dynamic bitmap fonts and truetype fonts (dynamic generation of textures)

  • Base Widgets (88%)
    • Static Element (base widget for all other widgets, has states, color and pointer events)
    • Label (display of text)
    • Image (display of images from Resource-Manager-Textures)
    • Textbox (input and editing of text)
    • Multiline-Textbox (same as Textbox but with more than one line of text)
    • Button (Toggle- and Click-Buttons)

  • Derived Widgets (15%)
    • Progress-Bar
    • Listbox
    • Radio-Buttons
    • Checkbox
    • On-Screen-Keyboard (numeric and alphanumeric)

  • Input-Manager (50%)
    • managing input from wiimote(s), On-Screen-Keyboard and/or USB-Keyboard

  • Localization-Manager (0%)
    • planning phase of a localization manager for multi-language gui's

  • Log-Manager (75%)
    • logging of (debug) messages to screen, files and TCP

  • Animation-Manager (0%)
    • planning phase of animated guis (like the "from left to right scrolling buttons" in HBC)

  • Event-/Message-Handler (25%)
    • managing of messages for the gui and the widgets
    • raising of events (Key, Pointer, ...)

and much more ;-)


currently working on first release


to be defined, but will be free even for commercial use. Source will maybe released at some time. I need to rewrite some parts, because I used some code from a commercial project I've done some time ago and I'm not able to release these sources.