1 /*  smplayer, GUI front-end for mplayer.
2     Copyright (C) 2006-2021 Ricardo Villalba <ricardo@smplayer.info>
3 
4     This program is free software; you can redistribute it and/or modify
5     it under the terms of the GNU General Public License as published by
6     the Free Software Foundation; either version 2 of the License, or
7     (at your option) any later version.
8 
9     This program is distributed in the hope that it will be useful,
10     but WITHOUT ANY WARRANTY; without even the implied warranty of
11     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
12     GNU General Public License for more details.
13 
14     You should have received a copy of the GNU General Public License
15     along with this program; if not, write to the Free Software
16     Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
17 */
18 
19 #ifndef VIDEOLAYER_H
20 #define VIDEOLAYER_H
21 
22 #include "config.h"
23 
24 #ifdef USE_GL_WINDOW
25   #include <QOpenGLWidget>
26   #define VIDEOLAYER_PARENT QOpenGLWidget
27 #else
28  #include <QWidget>
29  #define VIDEOLAYER_PARENT QWidget
30 #endif
31 
32 class VideoLayer : public VIDEOLAYER_PARENT
33 {
34 	Q_OBJECT
35 
36 public:
37 	VideoLayer(QWidget* parent = 0, Qt::WindowFlags f = QFlag(0));
38 	~VideoLayer();
39 
40 #if REPAINT_BACKGROUND_OPTION
41 	//! If b is true, the background of the widget will be repainted as usual.
42 	/*! Otherwise the background will not repainted when a video is playing. */
43 	void setRepaintBackground(bool b);
44 
45 	//! Return true if repainting the background is allowed.
repaintBackground()46 	bool repaintBackground() { return repaint_background; };
47 #endif
48 
49 public slots:
50 	//! Should be called when a file has started.
51 	/*! It's needed to know if the background has to be cleared or not. */
52 	virtual void playingStarted();
53 	//! Should be called when a file has stopped.
54 	virtual void playingStopped();
55 
56 	virtual void gotVO(QString);
57 
58 protected:
59 #if REPAINT_BACKGROUND_OPTION
60 	bool repaint_background;
61 #endif
62 	bool playing;
63 };
64 
65 #endif
66