2 ******************************************************************************
4 * @file videogadgetwidget.h
5 * @author The LibrePilot Project, http://www.librepilot.org Copyright (C) 2017.
7 * @see The GNU Public License (GPL) Version 3
11 *****************************************************************************/
13 * This program is free software; you can redistribute it and/or modify
14 * it under the terms of the GNU General Public License as published by
15 * the Free Software Foundation; either version 3 of the License, or
16 * (at your option) any later version.
18 * This program is distributed in the hope that it will be useful, but
19 * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
20 * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
23 * You should have received a copy of the GNU General Public License along
24 * with this program; if not, write to the Free Software Foundation, Inc.,
25 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
27 #ifndef VIDEOWIDGET_H_
28 #define VIDEOWIDGET_H_
30 #include "gst_global.h"
35 #include <QResizeEvent>
36 #include <QPaintEvent>
37 #include <QMouseEvent>
39 typedef struct _GstElement GstElement
;
43 class GST_LIB_EXPORT VideoWidget
: public QWidget
{
47 VideoWidget(QWidget
*parent
= 0);
50 QString
pipelineDesc();
51 void setPipelineDesc(QString pipelineDesc
);
60 void message(QString
);
61 void stateChanged(Pipeline::State oldState
, Pipeline::State newState
, Pipeline::State pendingState
);
65 QString
getStatusMessage();
66 void paintStatus(QPaintEvent
*);
68 void paintEvent(QPaintEvent
*);
69 void resizeEvent(QResizeEvent
*);
70 void mouseDoubleClickEvent(QMouseEvent
*);
75 void setOverlay(Overlay
*);
77 void emitEventMessage(QString msg
);
79 void toDotFile(QString name
);
83 QPaintEngine
*paintEngine() const;
85 QString m_pipelineDesc
;
89 BusSyncHandler
*handler
;
94 #endif /* VIDEOWIDGET_H_ */