forked from sobotka/YCbCrExporter
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtextpill.h
72 lines (55 loc) · 2.36 KB
/
textpill.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*******************************************************************************
YCbCr Lab
A tool to aid filmmakers / artists to manipulate YCbCr files to
maximize quality.
Copyright (C) 2013 Troy James Sobotka, [email protected]
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*******************************************************************************/
#ifndef TEXTPILL_H
#define TEXTPILL_H
#include <QtGui>
#define DEFAULT_TEXTCOLOR QColor(220,220,220)
#define DEFAULT_FILLCOLOR QColor(40,40,40)
#define DEFAULT_DURATION 3000
#define DEFAULT_TEXT "Only a test"
#define DEFAULT_STARTVALUE 1.0
#define DEFAULT_ENDVALUE 0.0
#define DEFAULT_STEP 0.0
#define DEFAULT_STEPVALUE 1.0
#define WIDTHFACTOR 3.0
#define HEIGHTFACTOR 2.0
class QTextPill : public QGraphicsWidget
{
private:
QColor m_colorFill;
QColor m_colorText;
QString m_text;
QFontMetricsF m_metrics;
QRectF m_rectF;
//QRectF m_oldRectF;
QGraphicsOpacityEffect *m_pEffect;
QPropertyAnimation *m_pPropertyAnimation;
void paint(QPainter *, const QStyleOptionGraphicsItem *, QWidget *);
void createObjects(void);
void initObjects(void);
QRectF boundingRect() const;
//QPainterPath shape() const;
void setText(QString text);
public:
QTextPill(QGraphicsItem *parent = 0);
~QTextPill();
void start(QString text, bool inverse = false);
void init(QString text = DEFAULT_TEXT, bool inverse = false,
int dur = DEFAULT_DURATION, qreal start = DEFAULT_STARTVALUE,
qreal end = DEFAULT_ENDVALUE);
};
#endif // TEXTPILL_H