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