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 00068 inline u16* getEditableData() const { return _bitmap; }; 00069 00075 Graphics* newGraphics(); 00076 00084 void blit(const s16 x, const s16 y, u16* data, const u32 size); 00085 00093 void blitFill(const s16 x, const s16 y, u16 colour, const u32 size); 00094 00095 protected: 00096 u16* _bitmap __attribute__ ((aligned (4))); 00101 inline Bitmap(const Bitmap& bitmap) { }; 00102 }; 00103 } 00104 00105 #endif