Woopsi is a Nintendo DS GUI library for rapidly creating user interfaces for homebrew software. Modelled after the AmigaOS windowing system.
Version 0.42 is out now!
This release improves the functionality of the ListBox, ContextMenu and CycleButton gadgets. It separates management of data from the UI, allowing such things as adding/removing/sorting CycleButton options, custom sorting orders, etc. It improves the speed of the FileRequester and includes several bugfixes and optimisations.
- ListData::swapItems() no longer raises a data changed event.
- ListData::sort() raises a data changed event.
- Woopsi class does not attempt to retrieve system font before it is initialised.
- ListBox canvas height no longer includes extra pixel.
- ListBox raises an action event when double-clicked.
- ListBox ignores double-clicks that occur across multiple items.
- Removed unused Gadget::_doubleClickTime member.
- ListBox redraws every time data changes.
- Double-click only counted as such if the gadget already has focus (ie. must be the same gadget clicked twice).
- ListBox::draw() calculates top and bottom visible options correctly, and does not overwrite options at the top of the list with those from the
- ListBox automatically scrolls when items are removed from the ListData object to ensure it does not display past the end of the canvas.
- New Features:
- Split ListData class into ListData and ListDataItem classes for greater flexibility.
- Minor improvements to the ListBox's use of the ListData class.
- Altered ListData::quickSort() and added compareTo() method to ListDataItem to allow custom ordering of ListDataItem subclasses.
- ScrollingBase adds support for specifying planes on which scrolling can occur.
- ScrollingPanel implements ScrollingBase's allow/disallow scroll plane features to prevent scrolling on certain planes.
- ListBox does not allow horizontal scrolling.
- Added windowless example project.
- Added Gadget::isDoubleClick() to check for double-clicks.
- Combined various colour members in Gadget class into GadgetColours struct.
- Merged TextWriter into GraphicsXXX classes and removed original class.
- Added FileListDataItem class to store data for file requester.
- FileRequester uses new compareTo() functionality for substantial speed increase and lower memory usage.
- FileRequester displays "Loading..." message whilst directories are enumerated.
- Split ListDataItem into ListDataItem and ListBoxDataItem classes for greater flexibility.
- Split FileRequester into FileListBox and FileRequester classes for greater flexibility.
- CycleButton uses the ListData class to store its data - options can now be selected, removed, sorted, etc.
- ListBox::getPreferredDimensions() bases width on size of text in options.
- ContextMenu used a ListBox to store/view its data.
- ContextMenu includes getPreferredDimensions() method.
- ContextMenu sends ListDataItem objects with event arguments instead of ContextMenuItem objects.
- Deleted ContextMenuItem class.
- Added WoopsiString::copyToCharArray().
Welcome to the DCEmu Homebrew and Gaming Network. This Network of sites is owned and ran by fans of all games consoles, we post news on all the consoles we cover about hardware aspects, gaming and Homebrew. Homebrew and Emulation are software thats made using free and legal tools to play on games consoles. This Network is the only worldwide network of sites where coders can upload and post comments they deserve for all their hardwork. We have a Network that currently supports PSVita, WiiU, Nintendo Wii, Xbox360, PS3, PS2,PS1, Snes, N64, Gameboy, Nes, Xbox, Gamecube, Nintendo DS, PSP, GBA, Dreamcast, Sega Saturn,3DS, DSi, Switch, PS4, Pandora, xboxone, GP2X, iPhone, Windows Phone, iPad, Android and also Mobile Phone Emulation. When new consoles appear we will expand to cover those consoles. We also cover Theme Park News and news and reviews of Beer, cider, lager, wines and spirits.
news of their own releases and get the credit and
Please help DCEmu become stronger by posting on the forums every day and make our community larger.