You may also want to check out the latest version of this file:
Woopsi is a Nintendo DS GUI library for rapidly creating user interfaces for homebrew software. Modelled after the AmigaOS windowing system.
Rating & screenshots
Change log (v0.40):
• PALib support removed.
• Pointer to selected day button in calendar resets to NULL when new month selected; prevents day button incorrectly popping up if same button is clicked in new month.
• Calendar::getPreferredSize() returns valid values.
• Label text is greyed out when disabled.
• Huge speed increase in Calendar::resize().
• Calendar's child controls correctly fill entire available space.
• Calendar correctly selects date if new day is the same as old day but in a different month.
• Gadget drag event only raised if stylus is actually moved whilst dragging mode active.
• ScrollingPanel drag and scroll events only raised if stylus is actually moved whilst dragging mode active.
• MultiLineTextBox greys out text when disabled.
• MultiLineTextBox::removeText() correctly repositions cursor.
• TextBox greys out text when disabled.
• Scrolltest compiles correctly.
• SimpleScreen and SimpleWindow helper gadgets removed.
• Renamed LinkedList to WoopsiLinkedList and LinkedListIterator to WoopsiLinkedListIterator to avoid type clashing with LinkedList in devkit.
• Tidied up woopsifuncs.h.
• SuperBitmap::getBitmap() returns a pointer to the Bitmap object instead of the Bitmap object's raw pixel data.
• Moved skinned gadgets out of main library and into bonus folder.
• Removed fatInitDefault() stub method for SDL out of individual .cpp files and into nds.h.
• dimmedscreen.h includes woopsi.h.
• Graphics::drawBitmap() clips correctly if bitmap destination co-ords are greater than the size of the destination bitmap.
• GraphicsPort::drawPixel() clips correctly.
• GraphicsPort::drawXORPixel() clips correctly.
• Replaced DMA_Force and DMA_Copy with woopsiDmaForce() and woopsiDmaCopy() to fix ancient problems with DMA not seeing latest RAM state.
• Calendar test added.
• MultiLineTextBox test added.
• TextBox test added.
• Added an overload to GraphicsPort to print a length of a string in a specific colour.
• Restructured directories into traditional library layout.
• Upgraded main project to VC++ 2008.
• Added libwoopsi.a to SVN.
• Added template example that uses libwoopsi.
• Reorganised demo code into new demo directory.
• BitmapIO class can load 16-bit BMP images with any pixel encoding.
• BitmapIO class can load V3, V4 and V5 DIB headers.
• BitmapLoader example illustrates loading of most supported BMP types.
• Added skinned gadget example.
• Added SkinIO class to bonus folder - loads skins from disk.
• Added BitmapBase class to define basic interface for a bitmap.
• Added BitmapWrapper to enable included (not loaded) bitmap data to be used as a read-only Bitmap object.
• Moved drawing code out of Bitmap class into new Graphics class.
• Added MutableBitmapBase class to define basic interface for an editable bitmap.
• Added FrameBuffer class to wrap framebuffer inside a bitmap class.
• All references to DrawBg array now work with frameBuffer array.
• Added GraphicsUnclipped to perform raw unclipped bitmap drawing.
• GraphicsPort inherits from GraphicsUnclipped in order to reduce code repetition.
• Font system uses new Bitmap object hierarchy.
• System fonts available as global objects.
• Rewritten clipping routine in Font and MonoFont.
• Reorganised VC++ project with more filters.
• Rect struct moved out of Gadget class and into separate header.
• SuperBitmap no longer includes drawing functions; instead it exposes a non-const pointer to its bitmap and a non-const pointer to a Graphics object that can draw to the bitmap.
• Added bitmapdrawing example.
• Added gadgetdrawing example.
• Added blit() and blitFill() methods to Bitmap and FrameBuffer, and signatures to MutableBitmapBase.
• Added getData(x, y) method to all bitmap classes.
out of 5
based on 1
ratings and 1
Screenshots for this version
Screenshots from other versions