QtGStreamer  1.2.0
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Pages
graphicsvideosurface.h
1 /*
2  Copyright (C) 2012 Collabora Ltd. <info@collabora.com>
3  @author George Kiagiadakis <george.kiagiadakis@collabora.com>
4 
5  This library is free software; you can redistribute it and/or modify
6  it under the terms of the GNU Lesser General Public License as published
7  by the Free Software Foundation; either version 2.1 of the License, or
8  (at your option) any later version.
9 
10  This program is distributed in the hope that it will be useful,
11  but WITHOUT ANY WARRANTY; without even the implied warranty of
12  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  GNU Lesser General Public License for more details.
14 
15  You should have received a copy of the GNU Lesser General Public License
16  along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18 #ifndef QGST_UI_GRAPHICSVIDEOSURFACE_H
19 #define QGST_UI_GRAPHICSVIDEOSURFACE_H
20 
21 #include "global.h"
22 #include "../element.h"
23 
24 #if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
25 # include <QtWidgets/QGraphicsView>
26 #else
27 # include <QtGui/QGraphicsView>
28 #endif
29 
30 namespace QGst {
31 namespace Ui {
32 
33 class GraphicsVideoWidget;
34 class GraphicsVideoSurfacePrivate;
35 
91 class QTGSTREAMERUI_EXPORT GraphicsVideoSurface : public QObject
92 {
93  Q_OBJECT
94  Q_DISABLE_COPY(GraphicsVideoSurface)
95 public:
96  explicit GraphicsVideoSurface(QGraphicsView *parent);
97  virtual ~GraphicsVideoSurface();
98 
103  ElementPtr videoSink() const;
104 
105 private:
106  QTGSTREAMERUI_NO_EXPORT void onUpdate();
107 
108 private:
109  friend class GraphicsVideoWidget;
110  GraphicsVideoSurfacePrivate * const d;
111 };
112 
113 } // namespace Ui
114 } // namespace QGst
115 
116 Q_DECLARE_METATYPE(QGst::Ui::GraphicsVideoSurface*)
117 
118 #endif // QGST_UI_GRAPHICSVIDEOSURFACE_H
A QGraphicsWidget for displaying video on a QGraphicsScene.
Helper class for painting video on a QGraphicsView.