1 #ifndef BRUSH_H_ 2 #define BRUSH_H_ 3 4 #include "gui/interface/Point.h" 5 6 class Renderer; 7 class Brush 8 { 9 protected: 10 unsigned char * outline; 11 unsigned char * bitmap; 12 ui::Point size; 13 ui::Point radius; 14 void updateOutline(); 15 public: 16 Brush(ui::Point size); 17 18 //Radius of the brush 0x0 - infxinf (Radius of 0x0 would be 1x1, radius of 1x1 would be 3x3) GetRadius()19 ui::Point GetRadius() 20 { 21 return radius; 22 } 23 24 //Size of the brush bitmap mask, 1x1 - infxinf GetSize()25 ui::Point GetSize() 26 { 27 return size; 28 } 29 virtual void SetRadius(ui::Point radius); 30 virtual ~Brush(); 31 virtual void RenderRect(Renderer * ren, ui::Point position1, ui::Point position2); 32 virtual void RenderLine(Renderer * ren, ui::Point position1, ui::Point position2); 33 virtual void RenderPoint(Renderer * ren, ui::Point position); 34 virtual void RenderFill(Renderer * ren, ui::Point position); 35 virtual void GenerateBitmap(); 36 //Get a bitmap for drawing particles 37 unsigned char * GetBitmap(); 38 39 unsigned char * GetOutline(); 40 }; 41 42 43 #endif /* BRUSH_H_ */ 44