4
#include "arthurwidgets.h"
7
#include <qpainterpath.h>
8
#include <qbasictimer.h>
11
class PathDeformRenderer : public ArthurFrame
15
PathDeformRenderer(QWidget *widget);
17
void paint(QPainter *painter);
19
void mousePressEvent(QMouseEvent *e);
20
void mouseReleaseEvent(QMouseEvent *e);
21
void mouseMoveEvent(QMouseEvent *e);
22
void timerEvent(QTimerEvent *e);
24
QSize sizeHint() const { return QSize(600, 500); }
27
void setRadius(int radius);
28
void setFontSize(int fontSize) { m_fontSize = fontSize; setText(m_text); }
29
void setText(const QString &text);
30
void setIntensity(int intensity);
32
void setAnimated(bool animated);
35
// void frameRate(double fps);
38
void generateLensPixmap();
39
QPainterPath lensDeform(const QPainterPath &source, const QPointF &offset);
41
QBasicTimer m_repaintTimer;
42
// QBasicTimer m_fpsTimer;
44
QTime m_repaintTracker;
46
QVector<QPainterPath> m_paths;
47
QVector<QPointF> m_advances;
51
QPixmap m_lens_pixmap;
64
class PathDeformWidget : public QWidget
67
PathDeformWidget(QWidget *parent);
70
PathDeformRenderer *m_renderer;
73
#endif // PATHDEFORM_H