Filetrip Logo


WoopsiGfx 1.3



Thumbnail 1 for WoopsiGfx
WoopsiGfx is a C++ 2D graphics library for the Nintendo DS, derived from the Woopsi GUI framework. It allows the developer to create and manipulate bitmaps using a comprehensive set of drawing tools. It includes an extensible font system for drawing text to bitmaps, and features support for packed monochrome and 16-bit fonts out of the box.

WoopsiGfx can also be used to draw directly to the DS' VRAM. This is useful when the DS is in MODE_FB0 or MODE_5_2D.

Features

- Extensible font system that supports compressed proportional and fixed-width
fonts (monochrome and 16-bit);
- Animation class with support for variable framerates and standard/pingpong
looping;
- Bitmap class for 16-bit bitmap image manipulation;
- Graphics class providing clipped, DMA-accelerated drawing functions:
- Pixels;
- Lines;
- Filled and unfilled rectangles;
- Filled and unfilled ellipses;
- XOR horizontal/vertical lines, pixels, rectangles and filled rectangles;
- Bitmap blitting;
- Bitmap blitting with transparent colour key;
- Bitmap blitting in greyscale;
- Flood fill;
- Region scrolling;
- Region copying;
- Region dimming;
- Region conversion to greyscale;
- Text rendering.
- Dynamic array container and iterator classes.
- Object-orientated design for easy integration into other C++ software;
- Simple API;
- Unicode strings encoded with UTF-8;
- Compatible with Woopsi font tools.

Change log (1.3):
It includes a variety of bugfixes and new features. Full changelog below.

Fixes:
- PackedFonts clip correctly.
- Example makefiles no longer build ROMs other than .nds file.
- Updated Rect class with new functionality from Woopsi.
- Font getCharWidth() and getCharHeight() methods return u8 instead of u16.
- Removed Rect::fromDimensions().
- Rect::fromCoordinates() returns a Rect instead of a Rect*.
- WoopsiArray resizes more intelligently.
- WoopsiString::subString() returns a WoopsiString instead of a WoopsiString*.
- WoopsiString::compareTo() returns an s8 instead of an s32.
- Removed ability to set font draw colour/monochrome from font classes; replaced with explicit "colour" parameter to all draw methods.
- Removed height member from FontBase and transplanted all methods to PackedFontBase, making FontBase data free.
- Removed width and height members from BitmapBase and transplanted to BitmapWrapper, FrameBuffer and Bitmap.
- Removed constructor from FontBase.
- Fixed bugs in Graphics::floodFill().
- Stack methods in Graphics class expect a reference to a stack as a parameter instead of pointer.
- Added missing bitmapwrapper.cpp file.

New Features:
- Added BufferedBitmap class.
- Added buffer test.
- Added drawBaselineChar() to font classes.
- Added drawBaselineText() to font classes.
- Added getCharTop() to font classes.
- Added Rect::splitIntersection().
- Added StringIterator::getInteger().
- Added new WoopsiString constructors.
- Added new WoopsiString::setText() overload.
- Added new WoopsiString operator overloads.
- Added WoopsiString::indexOf().
- Added WoopsiString::lastIndexOf().
- Added WoopsiString::format().
- Added WoopsiString::replace().
- Added WoopsiString::split().
comments powered by Disqus