QtGStreamer  0.10.2
 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 #include <QtGui/QGraphicsView>
24 
25 namespace QGst {
26 namespace Ui {
27 
28 class GraphicsVideoWidget;
29 class GraphicsVideoSurfacePrivate;
30 
85 class QTGSTREAMERUI_EXPORT GraphicsVideoSurface : public QObject
86 {
87  Q_OBJECT
88  Q_DISABLE_COPY(GraphicsVideoSurface)
89 public:
90  explicit GraphicsVideoSurface(QGraphicsView *parent);
91  virtual ~GraphicsVideoSurface();
92 
97  ElementPtr videoSink() const;
98 
99 private:
100  QTGSTREAMERUI_NO_EXPORT void onUpdate();
101 
102 private:
103  friend class GraphicsVideoWidget;
104  GraphicsVideoSurfacePrivate * const d;
105 };
106 
107 } // namespace Ui
108 } // namespace QGst
109 
110 Q_DECLARE_METATYPE(QGst::Ui::GraphicsVideoSurface*)
111 
112 #endif // QGST_UI_GRAPHICSVIDEOSURFACE_H