00001
00005
00006 #ifndef _H_IMG_CanvasRGBA32
00007 #define _H_IMG_CanvasRGBA32
00008
00009 #include "IMG_PixmapRGBA32.h"
00010 #include "GEN_Shared.h"
00011
00012 class IMG_BrushRGBA32;
00013 class IMG_CanvasRGBA32Action;
00014
00015
00024
00025 class IMG_CanvasRGBA32 : public IMG_PixmapRGBA32, public GEN_Shared {
00026 public:
00034 IMG_CanvasRGBA32(TUns32 width, TUns32 height);
00035
00045 IMG_CanvasRGBA32(void* image, TUns32 width, TUns32 height, TUns32 rowBytes);
00046
00051 virtual void startStroke();
00052
00062 virtual void drawStroke(TInt32 x1, TInt32 y1, TInt32 x2, TInt32 y2, const IMG_BrushRGBA32& brush);
00063
00073 virtual void drawStroke(float u1, float v1, float u2, float v2, const IMG_BrushRGBA32& brush);
00074
00080 virtual IMG_CanvasRGBA32Action* endStroke();
00081
00082 protected:
00087 virtual IMG_CanvasRGBA32::~IMG_CanvasRGBA32();
00088
00099 virtual void draw(TInt32 xStart, TInt32 yStart, TInt32 xEnd, TInt32 yEnd, const IMG_BrushRGBA32& brush, bool drawEndPoint = true);
00100
00101 IMG_PixmapRGBA32* m_undoPixmap;
00102 IMG_Rect m_undoRect;
00103 };
00104
00105
00106 #endif // _H_IMG_CanvasRGBA32