In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

User:Glatzemann/libGUI: Difference between revisions

From WiiBrew
Jump to navigation Jump to search
Line 36: Line 36:


==Current Progress==
==Current Progress==
<font color="green">green</font> lines are finished and <font color="red">red</font> lines are still open
<font color="green">
*Event-/Message-Handler (100%)
**managing of messages for the gui and the widgets
**raising of events (Key, Pointer, ...)
</font>
*Base Widgets (90%)
**<font color="green">Static Element (base widget for most of the other widgets, has states, color, text, image and pointer events)</font>
**<font color="green">Image (display of images from Resource-Manager-Textures)</font>
**<font color="green">Button (Toggle- and Click-Buttons)</font>
**<font color="red">Textbox (input and editing of text)</font>
**<font color="red">Multiline-Textbox (same as Textbox but with more than one line of text)</font>
*Resource-Manager (75%)
*Resource-Manager (75%)
**manages Textures, Materials, Fonts and Skins (dynamic loading, unpacking and unloading)
**manages <font color="green">Textures, Materials, Fonts</font> and <font color="red">Skins</font> (<font color="green">dynamic loading</font>, unpacking and unloading)
**loading of png, bmp, jpg and raw
**<font color="green">loading of png</font>, <font color="red">bmp, jpg and raw</font>
**loading of xml configuration files with all informations to create "multi screen guis"
**<font color="green">loading of xml configuration files with all informations to create "multi screen guis"</font>
**loading of binary files with all data for guis (textures, materials, gui definitions)
**<font color="green">loading of binary files with all data for guis (textures, materials, gui definitions)</font>
**loading of linked data for guis (textures, materials, gui definitions)
**<font color="red">loading of linked data for guis (textures, materials, gui definitions)</font>
 


*Log-Manager (75%)
**<font color="red">logging of (debug) messages to screen</font> (depends on Multiline-Textbox or Multiline-Label)
**<font color="green">logging of (debug) messages to files</font>
**<font color="red">logging of (debug) messages to TCP</font>


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


*Font-Manager (50%)
**<font color="green">managing dynamic bitmap fonts </font>
**<font color="red">managing truetype fonts (dynamic generation of textures)</font>


*Base Widgets (90%)
 
**Static Element (base widget for all other widgets, has states, color and pointer events)
*Input-Manager (50%)
**Label (display of text)
**<font color="green">managing input (windows)</font>
**Image (display of images from Resource-Manager-Textures)
**<font color="red">managing input from wiimote(s), On-Screen-Keyboard and/or USB-Keyboard</font>
**Textbox (input and editing of text)
 
**Multiline-Textbox (same as Textbox but with more than one line of text)
 
**Button (Toggle- and Click-Buttons)
*Animation-Manager (25%)
**<font color="green">Button-Animations (PointerOver, OnClick, OnMove, ...)</font>
**<font color="red">animated guis (like the "from left to right scrolling buttons" in HBC)</font>




Line 63: Line 90:
**Checkbox
**Checkbox
**On-Screen-Keyboard (numeric and alphanumeric)
**On-Screen-Keyboard (numeric and alphanumeric)
*Input-Manager (50%)
**managing input from wiimote(s), On-Screen-Keyboard and/or USB-Keyboard




*Localization-Manager (15%)
*Localization-Manager (15%)
**planning phase of a localization manager for multi-language gui's
**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 (95%) -> needs testing
**managing of messages for the gui and the widgets
**raising of events (Key, Pointer, ...)





Revision as of 15:02, 9 January 2009

libGUI
libGUI
General
Author(s)Glatzemann
TypeDevelopment
Versionalpha
Links
Download
Source
Peripherals
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.



Installation

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


Usage

Tutorials will follow upon release of libGUI


Current Progress

green lines are finished and red lines are still open


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


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


  • Resource-Manager (75%)
    • 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)


  • Log-Manager (75%)
    • logging of (debug) messages to screen (depends on Multiline-Textbox or Multiline-Label)
    • logging of (debug) messages to files
    • logging of (debug) messages to TCP


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


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


  • Animation-Manager (25%)
    • Button-Animations (PointerOver, OnClick, OnMove, ...)
    • animated guis (like the "from left to right scrolling buttons" in HBC)


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


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


and much more ;-)

Changelog

currently working on first release


License

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.