00001
00002
00003
00004
00005 #ifndef __CANVAS_RECT_H__
00006 #define __CANVAS_RECT_H__
00007
00008 #include <QColor>
00009 #include "canvas/item.h"
00010
00011 namespace Canvas {
00012
00019 class Rectangle : public Item
00020 {
00021 private:
00022 QColor m_color;
00023 QSize m_size;
00024
00026 virtual void paintInternal(QPainter* p, const QRect& prect, const QRegion& preg,
00027 QPoint delta, double cumulative_opacity);
00028
00029 public:
00031 Rectangle(const QColor& color, QSize size, Abstract* canvas = NULL);
00032
00034 Rectangle(Abstract* canvas = NULL);
00035
00036 virtual ~Rectangle();
00037
00039 QColor color() const { return m_color; }
00040
00042 void setColor(const QColor& color);
00043
00045 void setSize(QSize size);
00046
00047 virtual void paint(QPainter* p);
00048 virtual QRect rect() const;
00049 };
00050
00051 };
00052
00053 #endif //__CANVAS_RECT_H__