1  #ifndef RENDERAREA_H
2  #define RENDERAREA_H
3  #include <QBrush>
4  #include <QPen>
5  #include <QPixmap>
6  #include <QWidget>
7  class RenderArea : public QWidget
8  {
9      Q_OBJECT

10 public:
11    enum Shape { Line, Points, Polyline, Polygon, Rect,
                  RoundedRect, Ellipse, Arc,
                  Chord, Pie, Path, Text, Pixmap };

12    RenderArea(QWidget *parent = 0);

13    QSize minimumSizeHint() const override;
14    QSize sizeHint() const override;

15 public slots:
16    void setShape(Shape shape);
17    void setPen(const QPen &pen);
18    void setBrush(const QBrush &brush);
19    void setAntialiased(bool antialiased);
20    void setTransformed(bool transformed);

21 protected:
22    void paintEvent(QPaintEvent *event) override;

23 private:
24    Shape shape;
25    QPen pen;
26    QBrush brush;
27    bool antialiased;
28    bool transformed;
29    QPixmap pixmap;
30 };

31 #endif // RENDERAREA_H
