00001 #ifndef _FRAME_BUFFER_H_ 00002 #define _FRAME_BUFFER_H_ 00003 00004 #include <nds.h> 00005 #include "mutablebitmapbase.h" 00006 00007 namespace WoopsiUI { 00008 00009 class Graphics; 00010 00014 class FrameBuffer : public MutableBitmapBase { 00015 public: 00016 00023 FrameBuffer(u16* data, u16 width, u16 height); 00024 00028 virtual inline ~FrameBuffer() { }; 00029 00036 const u16 getPixel(s16 x, s16 y) const; 00037 00044 virtual void setPixel(const s16 x, const s16 y, const u16 colour); 00045 00050 inline const u16* getData() const { return _bitmap; }; 00051 00059 inline const u16* getData(s16 x, s16 y) const; 00060 00065 inline u16* getEditableData() const { return _bitmap; } 00066 00072 Graphics* newGraphics(); 00073 00081 void blit(const s16 x, const s16 y, u16* data, const u32 size); 00082 00090 void blitFill(const s16 x, const s16 y, u16 colour, const u32 size); 00091 00092 protected: 00093 u16* _bitmap __attribute__ ((aligned (4))); 00098 inline FrameBuffer(const FrameBuffer& bitmap) { }; 00099 }; 00100 } 00101 00102 #endif