Woopsi 1.3
Nintendo DS Gui Framework
Public Member Functions | Protected Member Functions | Protected Attributes
WoopsiUI::FrameBuffer Class Reference

#include <libwoopsi/include/framebuffer.h>

Inheritance diagram for WoopsiUI::FrameBuffer:
WoopsiUI::MutableBitmapBase WoopsiUI::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)
virtual ~FrameBuffer ()
const u16 * getData () const
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

WoopsiUI::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 WoopsiUI::FrameBuffer::~FrameBuffer ( ) [inline, virtual]

Destructor.

WoopsiUI::FrameBuffer::FrameBuffer ( const FrameBuffer bitmap) [inline, protected]

Copy constructor is protected to prevent usage.


Member Function Documentation

u16* _bitmap WoopsiUI::FrameBuffer::__attribute__ ( (aligned(4))  ) [protected]
void WoopsiUI::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 WoopsiUI::MutableBitmapBase.

void WoopsiUI::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 WoopsiUI::MutableBitmapBase.

void WoopsiUI::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 WoopsiUI::BitmapBase.

const u16* WoopsiUI::FrameBuffer::getData ( ) const [inline, virtual]

Get a pointer to the internal bitmap.

Returns:
Pointer to the internal bitmap.

Implements WoopsiUI::BitmapBase.

const u16* WoopsiUI::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 WoopsiUI::BitmapBase.

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

Get the bitmap's height.

Returns:
The bitmap's height.

Implements WoopsiUI::BitmapBase.

const u16 WoopsiUI::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 WoopsiUI::BitmapBase.

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

Get the bitmap's width.

Returns:
The bitmap's width.

Implements WoopsiUI::BitmapBase.

Graphics* WoopsiUI::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.
virtual void WoopsiUI::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 WoopsiUI::MutableBitmapBase.


Member Data Documentation

Height of the bitmap

Width of the bitmap


The documentation for this class was generated from the following file:
 All Classes Functions Variables Enumerations Enumerator