00001 #ifndef _GRAPHICS_UNCLIPPED_H_ 00002 #define _GRAPHICS_UNCLIPPED_H_ 00003 00004 #include <nds.h> 00005 #include "bitmapbase.h" 00006 #include "mutablebitmapbase.h" 00007 00008 namespace WoopsiUI { 00009 00010 class FontBase; 00011 00016 class GraphicsUnclipped { 00017 public: 00018 00023 GraphicsUnclipped(MutableBitmapBase* bitmap); 00024 00028 virtual inline ~GraphicsUnclipped() { }; 00029 00036 virtual const u16 getPixel(s16 x, s16 y) const; 00037 00044 virtual void drawPixel(s16 x, s16 y, u16 colour); 00045 00054 virtual void drawFilledRect(s16 x, s16 y, u16 width, u16 height, u16 colour); 00055 00063 virtual void drawHorizLine(s16 x, s16 y, u16 width, u16 colour); 00064 00072 virtual void drawVertLine(s16 x, s16 y, u16 height, u16 colour); 00073 00082 virtual void drawRect(s16 x, s16 y, u16 width, u16 height, u16 colour); 00083 00092 virtual void drawLine(s16 x1, s16 y1, s16 x2, s16 y2, u16 colour); 00093 00101 virtual void drawCircle(s16 x0, s16 y0, u16 radius, u16 colour); 00102 00110 virtual void drawFilledCircle(s16 x0, s16 y0, u16 radius, u16 colour); 00111 00119 virtual void drawText(s16 x, s16 y, FontBase* font, const char* string); 00120 00129 virtual void drawText(s16 x, s16 y, FontBase* font, u16 length, const char* string); 00130 00139 virtual void drawText(s16 x, s16 y, FontBase* font, const char* string, u16 colour); 00140 00150 virtual void drawText(s16 x, s16 y, FontBase* font, u16 length, const char* string, u16 colour); 00151 00159 virtual void drawText(s16 x, s16 y, FontBase* font, char letter); 00160 00169 virtual void drawText(s16 x, s16 y, FontBase* font, char letter, u16 colour); 00170 00181 virtual void drawBitmap(s16 x, s16 y, u16 width, u16 height, const BitmapBase* bitmap, s16 bitmapX, s16 bitmapY); 00182 00196 virtual void drawBitmap(s16 x, s16 y, u16 width, u16 height, const BitmapBase* bitmap, s16 bitmapX, s16 bitmapY, u16 transparentColour); 00197 00206 virtual void drawEllipse(s16 xCentre, s16 yCentre, s16 horizRadius, s16 vertRadius, u16 colour); 00207 00216 virtual void drawFilledEllipse(s16 xCentre, s16 yCentre, s16 horizRadius, s16 vertRadius, u16 colour); 00217 00223 virtual void drawXORPixel(s16 x, s16 y); 00224 00231 virtual void drawXORHorizLine(s16 x, s16 y, u16 width); 00232 00239 virtual void drawXORVertLine(s16 x, s16 y, u16 height); 00240 00248 virtual void drawXORRect(s16 x, s16 y, u16 width, u16 height); 00249 00257 virtual void drawFilledXORRect(s16 x, s16 y, u16 width, u16 height); 00258 00273 void copy(s16 sourceX, s16 sourceY, s16 destX, s16 destY, u16 width, u16 height); 00274 00282 void dim(s16 x, s16 y, u16 width, u16 height); 00283 00284 protected: 00285 MutableBitmapBase* _bitmap; 00286 u16* _data; 00287 u16 _width; 00293 inline GraphicsUnclipped(const GraphicsUnclipped& graphicsUnclipped) { }; 00294 }; 00295 } 00296 00297 #endif