Difference between revisions of "User:Thav/libwsmenu"

From WiiBrew
Jump to navigation Jump to search
Line 25: Line 25:
 
*I'm starting to think I might want to use vectors or another data structure if it's going to allow adding and removing buttons.
 
*I'm starting to think I might want to use vectors or another data structure if it's going to allow adding and removing buttons.
 
==Class Member Function Outline==
 
==Class Member Function Outline==
Menu
+
===Menu===
 
*Menu(void (*functionpointer)(void),Icon* icons, f32 xpos, f32 ypos, GxColor bgcolor, Image bgimage)
 
*Menu(void (*functionpointer)(void),Icon* icons, f32 xpos, f32 ypos, GxColor bgcolor, Image bgimage)
 
*void AddButton(Icon newbutton, u32 index)
 
*void AddButton(Icon newbutton, u32 index)
Line 31: Line 31:
 
*bool AnySelected(u32 pressed, u32 irx, u32 iry)
 
*bool AnySelected(u32 pressed, u32 irx, u32 iry)
 
*void RunSelected()
 
*void RunSelected()
 
 
 
 
  
 
==Development information==
 
==Development information==

Revision as of 02:10, 23 July 2008

Template:Infobox homebrewapp

libwsmenu is a brand new project with the intention of building a wrapper for libwiisprite to easily create menus for homebrew software. It will be hosted at Google Code. I would greatly appreciate any feedback on features that should be included, suggestions on implementation or if this even seems like a worthwhile project. Feel free to discuss on the talk page or to me privately at my gmail address, thavilden@.....


Project Info

Proposed Features

  • Main object that takes a one or two dimensional array of function pointers and builds workable menus out of them. Will also need a corresponding array of text or images for each button, button backgrounds, menu background.
  • Allow copying a menu object, so that one main menu can be created with other sub menus copied therefrom and modified.
  • Use wiimote IR input with a default cursor

Possible issues

  • I can't think of an easy way to allow a mix of text AND images over buttons on the menu. Unless maybe an "icon" class with an overloaded constructor?
  • The menu, buttons and all will have to sit in a LayerManager, but LayerManager has no visible option, so where do we put the Menu when not in use? Or is it better to discard the menu from memory and rebuild later? Will look into how this is done on other software.
  • The classes can't be checking the wiimote all willy nilly, so user will have to init wpad and make a call to check called states and all that
  • I've forgotten how to deal with passing arrays and dealing with their sizes. That's why I have references though.
  • I'm starting to think I might want to use vectors or another data structure if it's going to allow adding and removing buttons.

Class Member Function Outline

Menu

  • Menu(void (*functionpointer)(void),Icon* icons, f32 xpos, f32 ypos, GxColor bgcolor, Image bgimage)
  • void AddButton(Icon newbutton, u32 index)
  • void RemoveButton(u32 index)
  • bool AnySelected(u32 pressed, u32 irx, u32 iry)
  • void RunSelected()

Development information

  • devkitpro (libogc/devkitppc/libfat/wiiuse)
  • libwiisprite

Borrowing heavily from