00001 #ifndef _SUPERBITMAP_H_ 00002 #define _SUPERBITMAP_H_ 00003 00004 #include <nds.h> 00005 #include "gadget.h" 00006 00007 namespace WoopsiUI { 00008 00009 class Bitmap; 00010 00015 class SuperBitmap : public Gadget { 00016 00017 public: 00018 00031 SuperBitmap(s16 x, s16 y, u16 width, u16 height, u16 bitmapWidth, u16 bitmapHeight, bool isDecoration, FontBase* font = NULL); 00032 00039 const u16 getPixel(s16 x, s16 y) const; 00040 00045 const u16* getBitmap() const; 00046 00052 virtual void draw(Rect clipRect); 00053 00060 virtual void drawPixel(s16 x, s16 y, u16 colour); 00061 00070 virtual void drawFilledRect(s16 x, s16 y, u16 width, u16 height, u16 colour); 00071 00079 virtual void drawHorizLine(s16 x, s16 y, u16 width, u16 colour); 00080 00088 virtual void drawVertLine(s16 x, s16 y, u16 height, u16 colour); 00089 00098 virtual void drawRect(s16 x, s16 y, u16 width, u16 height, u16 colour); 00099 00108 virtual void drawLine(s16 x1, s16 y1, s16 x2, s16 y2, u16 colour); 00109 00117 virtual void drawCircle(s16 x0, s16 y0, u16 radius, u16 colour); 00118 00126 virtual void drawFilledCircle(s16 x0, s16 y0, u16 radius, u16 colour); 00127 00135 virtual void drawText(s16 x, s16 y, FontBase* font, const char* string); 00136 00145 virtual void drawText(s16 x, s16 y, FontBase* font, const char* string, u16 colour); 00146 00159 virtual void drawBitmap(s16 x, s16 y, u16 width, u16 height, const u16* bitmap, s16 bitmapX, s16 bitmapY, u16 bitmapWidth, u16 bitmapHeight); 00160 00171 virtual void drawBitmap(s16 x, s16 y, u16 width, u16 height, const Bitmap* bitmap, s16 bitmapX, s16 bitmapY); 00172 00179 virtual void floodFill(s16 x, s16 y, u16 newColour); 00180 00189 virtual void drawEllipse(s16 xCentre, s16 yCentre, s16 horizRadius, s16 vertRadius, u16 colour); 00190 00199 virtual void drawFilledEllipse(s16 xCentre, s16 yCentre, s16 horizRadius, s16 vertRadius, u16 colour); 00200 00204 virtual void clearBitmap(); 00205 00213 virtual bool drag(s16 x, s16 y, s16 vX, s16 vY); 00214 00215 protected: 00216 s32 _bitmapX; 00217 s32 _bitmapY; 00218 Bitmap* _bitmap; 00223 virtual ~SuperBitmap(); 00224 00228 inline SuperBitmap(const SuperBitmap& superBitmap) : Gadget(superBitmap) { }; 00229 }; 00230 } 00231 00232 #endif