00001 #ifndef _BITMAP_H_ 00002 #define _BITMAP_H_ 00003 00004 #include <nds.h> 00005 #include "woopsiarray.h" 00006 #include "mutablebitmapbase.h" 00007 00008 namespace WoopsiUI { 00009 00010 class Graphics; 00011 00016 class Bitmap : public MutableBitmapBase { 00017 public: 00018 00024 Bitmap(u16 width, u16 height); 00025 00029 virtual inline ~Bitmap() { 00030 delete[] _bitmap; 00031 }; 00032 00039 const u16 getPixel(s16 x, s16 y) const; 00040 00047 void setPixel(const s16 x, const s16 y, const u16 colour); 00048 00053 inline const u16* getData() const { return _bitmap; }; 00054 00062 inline const u16* getData(s16 x, s16 y) const; 00063 00069 Graphics* newGraphics(); 00070 00078 void blit(const s16 x, const s16 y, const u16* data, const u32 size); 00079 00087 void blitFill(const s16 x, const s16 y, const u16 colour, const u32 size); 00088 00089 protected: 00090 u16* _bitmap __attribute__ ((aligned (4))); 00095 inline Bitmap(const Bitmap& bitmap) { }; 00096 }; 00097 } 00098 00099 #endif