#ifndef RENDERAREA_H #define RENDERAREA_H #include class RenderArea : public QWidget { Q_OBJECT public: explicit RenderArea(QWidget *parent = nullptr); QSize minimumSizeHint() const Q_DECL_OVERRIDE; QSize sizeHint() const Q_DECL_OVERRIDE; enum ShapesType{ Astroid, Cycloid, HuygensCycloid, HypoCycloid }; void setBackgroundColor(QColor color) { mBackgroundColour = color; } QColor backgroundColor() const { return mBackgroundColour; } void setShape(ShapesType shape) { mShape = shape; } ShapesType shape() const { return mShape; } signals: protected: void paintEvent(QPaintEvent* event) Q_DECL_OVERRIDE; public slots: private: QPointF ComputeAstroid(float t); QColor mBackgroundColour; QColor mShapeColour; ShapesType mShape; }; #endif // RENDERAREA_H