WoopsiGfx 1.4
Nintendo DS 2D Graphics Library
|
#include <libwoopsigfx/include/framebuffer.h>
Public Member Functions | |
void | copy (s16 x, s16 y, u32 size, u16 *dest) const |
FrameBuffer (u16 *data, u16 width, u16 height) | |
const u16 * | getData () const |
virtual | ~FrameBuffer () |
const u16 | getPixel (s16 x, s16 y) const |
virtual void | setPixel (const s16 x, const s16 y, const u16 colour) |
const u16 * | getData (s16 x, s16 y) const |
Graphics * | newGraphics () |
void | blit (const s16 x, const s16 y, const u16 *data, const u32 size) |
void | blitFill (const s16 x, const s16 y, const u16 colour, const u32 size) |
const u16 | getWidth () const |
const u16 | getHeight () const |
Protected Member Functions | |
u16 *_bitmap | __attribute__ ((aligned(4))) |
FrameBuffer (const FrameBuffer &bitmap) | |
Protected Attributes | |
u16 | _width |
u16 | _height |
Bitmap subclass designed exclusively as a way to wrap the framebuffer in a bitmap object. It can then be treated as any other bitmap - it can be drawn to with setPixel(), blit() and blitFill() methods, and it can produce a Graphics object for more complex drawing functions.
The FrameBuffer class automatically switches from using the DS' framebuffer (more accurately, a 16-bit background) to using an SDL surface if Woopsi is compiled in SDL mode.
FrameBuffer::FrameBuffer | ( | u16 * | data, |
u16 | width, | ||
u16 | height | ||
) |
Constructor.
data | Pointer to the raw bitmap data. |
width | The width of the bitmap. |
height | The height of the bitmap. |
virtual WoopsiGfx::FrameBuffer::~FrameBuffer | ( | ) | [inline, virtual] |
Destructor.
WoopsiGfx::FrameBuffer::FrameBuffer | ( | const FrameBuffer & | bitmap | ) | [inline, protected] |
Copy constructor is protected to prevent usage.
u16* _bitmap WoopsiGfx::FrameBuffer::__attribute__ | ( | (aligned(4)) | ) | [protected] |
void FrameBuffer::blit | ( | const s16 | x, |
const s16 | y, | ||
const u16 * | data, | ||
const u32 | size | ||
) | [virtual] |
Blit data to the specified co-ordinates using the DMA hardware.
x | The x co-ordinate to blit to. |
y | The y co-ordinate to blit to. |
data | The data to blit. |
size | The number of u16s to blit. |
Implements WoopsiGfx::MutableBitmapBase.
void FrameBuffer::blitFill | ( | const s16 | x, |
const s16 | y, | ||
const u16 | colour, | ||
const u32 | size | ||
) | [virtual] |
Fill at the specified co-ordinates using the DMA hardware.
x | The x co-ordinate to blit to. |
y | The y co-ordinate to blit to. |
colour | The colour to fill with. |
size | The number of u16s to blit. |
Implements WoopsiGfx::MutableBitmapBase.
void FrameBuffer::copy | ( | s16 | x, |
s16 | y, | ||
u32 | size, | ||
u16 * | dest | ||
) | const [virtual] |
Copies data from the supplied co-ordinates sequentially into dest. If the amount to be copied exceeds the available width of the bitmap, copying will wrap around from the right-hand edge of the bitmap to the left-hand edge. The dest parameter must point to an area of memory large enough to contain the copied data.
x | The x co-ordinate to copy from. |
y | The y co-ordinate to copy from. |
size | The number of pixels to copy. |
dest | Pointer to the memory that will be copied into. |
Implements WoopsiGfx::BitmapBase.
const u16* WoopsiGfx::FrameBuffer::getData | ( | ) | const [inline, virtual] |
Get a pointer to the internal bitmap.
Implements WoopsiGfx::BitmapBase.
const u16 * FrameBuffer::getData | ( | s16 | x, |
s16 | y | ||
) | const [inline, virtual] |
Get a pointer to the internal bitmap data at the specified co-ordinates.
x | The x co-ord of the data. |
y | The y co-ord of the data. |
Implements WoopsiGfx::BitmapBase.
const u16 WoopsiGfx::FrameBuffer::getHeight | ( | ) | const [inline, virtual] |
const u16 FrameBuffer::getPixel | ( | s16 | x, |
s16 | y | ||
) | const [virtual] |
Get the colour of the pixel at the specified co-ordinates
x | The x co-ordinate of the pixel. |
y | The y co-ordinate of the pixel. |
Implements WoopsiGfx::BitmapBase.
const u16 WoopsiGfx::FrameBuffer::getWidth | ( | ) | const [inline, virtual] |
Graphics * FrameBuffer::newGraphics | ( | ) |
Get a new graphics object that can draw to this bitmap. Object must be deleted when it is no longer needed.
void FrameBuffer::setPixel | ( | const s16 | x, |
const s16 | y, | ||
const u16 | colour | ||
) | [virtual] |
Set the colour of the specified pixel.
x | X co-ord of the pixel to set. |
y | Y co-ord of the pixel to set. |
colour | New colour of the pixel. |
Implements WoopsiGfx::MutableBitmapBase.
u16 WoopsiGfx::FrameBuffer::_height [protected] |
Height of the bitmap
u16 WoopsiGfx::FrameBuffer::_width [protected] |
Width of the bitmap