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.