QtCurvesCpp/renderarea.h

42 lines
819 B
C++

#ifndef RENDERAREA_H
#define RENDERAREA_H
#include <QWidget>
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