Tulip 5.7.1
Large graphs analysis and drawing
Loading...
Searching...
No Matches
ProcessingAnimationItem.h
1/*
2 *
3 * This file is part of Tulip (https://tulip.labri.fr)
4 *
5 * Authors: David Auber and the Tulip development Team
6 * from LaBRI, University of Bordeaux
7 *
8 * Tulip is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU Lesser General Public License
10 * as published by the Free Software Foundation, either version 3
11 * of the License, or (at your option) any later version.
12 *
13 * Tulip is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
16 * See the GNU General Public License for more details.
17 *
18 */
19///@cond DOXYGEN_HIDDEN
20
21#ifndef PROCESSINGANIMATIONITEM_H
22#define PROCESSINGANIMATIONITEM_H
23
24#include <QGraphicsPixmapItem>
25#include <QTimer>
26#include <QObject>
27#include <QBrush>
28
29class ProcessingAnimationItem : public QObject, public QGraphicsPixmapItem {
30 Q_OBJECT
31
32 QVector<QPixmap> _pixmaps;
33 QTimer _animationTimer;
34 unsigned int _currentFrame;
35 QBrush _brush;
36
37public:
38 explicit ProcessingAnimationItem(const QPixmap &pixmap, const QSize &size,
39 QGraphicsItem *parent = nullptr);
40 ~ProcessingAnimationItem() override;
41
42 QBrush brush() const {
43 return _brush;
44 }
45 void setBrush(const QBrush &brush) {
46 _brush = brush;
47 }
48
49protected slots:
50 void animationTimeout();
51 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget) override;
52};
53
54#endif // PROCESSINGANIMATIONITEM_H
55///@endcond