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