Phonon
4.7.0
Main Page
Related Pages
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Enumerations
Enumerator
Properties
Pages
phonon
graphicsview
glslpainter.h
1
/*
2
Copyright (C) 2011 Harald Sitter <sitter@kde.org>
3
4
This library is free software; you can redistribute it and/or
5
modify it under the terms of the GNU Lesser General Public
6
License as published by the Free Software Foundation; either
7
version 2.1 of the License, or (at your option) version 3, or any
8
later version accepted by the membership of KDE e.V. (or its
9
successor approved by the membership of KDE e.V.), Nokia Corporation
10
(or its successors, if any) and the KDE Free Qt Foundation, which shall
11
act as a proxy defined in Section 6 of version 3 of the license.
12
13
This library 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. See the GNU
16
Lesser General Public License for more details.
17
18
You should have received a copy of the GNU Lesser General Public
19
License along with this library. If not, see <http://www.gnu.org/licenses/>.
20
*/
21
22
#ifndef PHONON_GLSLPAINTER_H
23
#define PHONON_GLSLPAINTER_H
24
25
#include <QtCore/QTime>
26
27
#include "glpainter.h"
28
29
class
QGLShaderProgram;
30
31
namespace
Phonon {
32
33
class
GlslPainter
:
public
GlPainter
34
{
35
public
:
36
GlslPainter
();
37
virtual
~
GlslPainter
();
38
39
virtual
QList<VideoFrame::Format>
supportedFormats()
const
;
40
41
void
init
();
42
void
paint
(QPainter *painter, QRectF target);
43
44
private
:
45
void
calculateFPS();
46
void
addFPSOverlay();
47
48
struct
FPS {
49
FPS()
50
: value(0)
51
, imagedValue(0)
52
, frames(0)
53
, img(32, 32, QImage::Format_ARGB32)
54
{
55
}
56
57
qreal value;
58
qreal imagedValue;
59
quint64 frames;
60
QTime lastTime;
61
QImage img;
62
};
63
64
struct
FPS m_fps;
65
QGLShaderProgram *m_program;
66
};
67
68
}
// namespace Phonon
69
70
#endif // PHONON_GLSLPAINTER_H
Generated on Mon Nov 4 2013 18:07:27 for Phonon by
1.8.4