WoopsiGfx 1.4
Nintendo DS 2D Graphics Library
Public Member Functions | Protected Member Functions | Protected Attributes
WoopsiGfx::FrameBuffer Class Reference

#include <libwoopsigfx/include/framebuffer.h>

Inheritance diagram for WoopsiGfx::FrameBuffer:
WoopsiGfx::MutableBitmapBase WoopsiGfx::BitmapBase

List of all members.

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
GraphicsnewGraphics ()
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

Detailed Description

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.


Constructor & Destructor Documentation

FrameBuffer::FrameBuffer ( u16 *  data,
u16  width,
u16  height 
)

Constructor.

Parameters:
dataPointer to the raw bitmap data.
widthThe width of the bitmap.
heightThe 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.


Member Function Documentation

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.

Parameters:
xThe x co-ordinate to blit to.
yThe y co-ordinate to blit to.
dataThe data to blit.
sizeThe 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.

Parameters:
xThe x co-ordinate to blit to.
yThe y co-ordinate to blit to.
colourThe colour to fill with.
sizeThe 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.

Parameters:
xThe x co-ordinate to copy from.
yThe y co-ordinate to copy from.
sizeThe number of pixels to copy.
destPointer 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.

Returns:
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.

Parameters:
xThe x co-ord of the data.
yThe y co-ord of the data.
Returns:
Pointer to the internal bitmap data.

Implements WoopsiGfx::BitmapBase.

const u16 WoopsiGfx::FrameBuffer::getHeight ( ) const [inline, virtual]

Get the bitmap's height.

Returns:
The bitmap's height.

Implements WoopsiGfx::BitmapBase.

const u16 FrameBuffer::getPixel ( s16  x,
s16  y 
) const [virtual]

Get the colour of the pixel at the specified co-ordinates

Parameters:
xThe x co-ordinate of the pixel.
yThe y co-ordinate of the pixel.
Returns:
The colour of the pixel.

Implements WoopsiGfx::BitmapBase.

const u16 WoopsiGfx::FrameBuffer::getWidth ( ) const [inline, virtual]

Get the bitmap's width.

Returns:
The bitmap's width.

Implements WoopsiGfx::BitmapBase.

Graphics * FrameBuffer::newGraphics ( )

Get a new graphics object that can draw to this bitmap. Object must be deleted when it is no longer needed.

Returns:
A new Graphics object.
void FrameBuffer::setPixel ( const s16  x,
const s16  y,
const u16  colour 
) [virtual]

Set the colour of the specified pixel.

Parameters:
xX co-ord of the pixel to set.
yY co-ord of the pixel to set.
colourNew colour of the pixel.

Implements WoopsiGfx::MutableBitmapBase.


Member Data Documentation

Height of the bitmap

Width of the bitmap


The documentation for this class was generated from the following files: