X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fskins2%2Fsrc%2Fvout_window.hpp;h=f64d033809bc2a7c812cee0a5487d2c398ddc7ab;hb=b3564a7d8180f0e72111a485aaf4d46ab0be868e;hp=c1da91a63d4e2713e652fce269d6d3442d3b4fc3;hpb=4e3c8943f6ebab9a1963887bf339e5675abb3488;p=vlc diff --git a/modules/gui/skins2/src/vout_window.hpp b/modules/gui/skins2/src/vout_window.hpp index c1da91a63d..f64d033809 100644 --- a/modules/gui/skins2/src/vout_window.hpp +++ b/modules/gui/skins2/src/vout_window.hpp @@ -1,7 +1,7 @@ /***************************************************************************** * vout_window.hpp ***************************************************************************** - * Copyright (C) 2003 VideoLAN + * Copyright (C) 2003 the VideoLAN team * $Id$ * * Authors: Cyril Deguet @@ -16,49 +16,73 @@ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ #ifndef VOUT_WINDOW_HPP #define VOUT_WINDOW_HPP #include "generic_window.hpp" +#include class OSGraphics; +class CtrlVideo; /// Class to handle a video output window -class VoutWindow: public GenericWindow +class VoutWindow: private GenericWindow { - public: - VoutWindow( intf_thread_t *pIntf, int xPos, int yPos, - bool dragDrop, bool playOnDrop, GenericWindow &rParent ); - virtual ~VoutWindow(); +public: - /// These methods are redefined here to make them public - //@{ - /// Show the window - virtual void show() { GenericWindow::show(); } + VoutWindow( intf_thread_t *pIntf, vout_window_t* pWnd, + int width, int height, GenericWindow* pParent = NULL ); + virtual ~VoutWindow(); - /// Hide the window - virtual void hide() { GenericWindow::hide(); } + /// Make some functions public + //@{ + using GenericWindow::show; + using GenericWindow::hide; + using GenericWindow::move; + using GenericWindow::resize; + using GenericWindow::getOSHandle; + //@} - /// Move the window - virtual void move( int left, int top ) - { GenericWindow::move( left, top ); } - //@} + /// get the parent window + virtual GenericWindow* getWindow( ) { return m_pParentWindow; } - /// Resize the window - virtual void resize( int width, int height ); + /// hotkeys processing + virtual void processEvent( EvtKey &rEvtKey ); - /// Refresh an area of the window - virtual void refresh( int left, int top, int width, int height ); + /// set and get Video Control for VoutWindow + virtual void setCtrlVideo( CtrlVideo* pCtrlVideo ); + virtual CtrlVideo* getCtrlVideo( ) { return m_pCtrlVideo; } - private: - /// Image when there is no video - OSGraphics *m_pImage; + /// get original size of vout + virtual int getOriginalWidth( ) { return original_width; } + virtual int getOriginalHeight( ) { return original_height; } + + /// set original size of vout + virtual void setOriginalWidth( int width ) { original_width = width; } + virtual void setOriginalHeight( int height ) { original_height = height; } + + virtual string getType() const { return "Vout"; } + +private: + + /// vout thread + vout_window_t* m_pWnd; + + /// original width and height + int original_width; + int original_height; + + /// VideoControl attached to it + CtrlVideo* m_pCtrlVideo; + + /// Parent Window + GenericWindow* m_pParentWindow; }; typedef CountedPtr VoutWindowPtr;