X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fgui%2Fskins2%2Fsrc%2Fvout_window.hpp;h=90d8225214a3d800358aec225f02a92f7f8ae801;hb=04af5c7c7d1d6a779f73c2384c8e40a32cbe35d9;hp=7e752ed4f11c32b85e5a4a8b6312f1b9c68ba6b4;hpb=51a3196bd562e8bab25e910524928902e506d461;p=vlc diff --git a/modules/gui/skins2/src/vout_window.hpp b/modules/gui/skins2/src/vout_window.hpp index 7e752ed4f1..90d8225214 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 @@ -18,7 +18,7 @@ * * 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. + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ #ifndef VOUT_WINDOW_HPP @@ -27,40 +27,64 @@ #include "generic_window.hpp" 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(); - /// These methods are redefined here to make them public - //@{ - /// Show the window - virtual void show() { GenericWindow::show(); } + VoutWindow( intf_thread_t *pIntf, vout_thread_t* pVout, + int width, int height, GenericWindow* pParent = NULL ); + virtual ~VoutWindow(); - /// Hide the window - virtual void hide() { GenericWindow::hide(); } + // counter used for debugging purpose + static int count; - /// Move the window - virtual void move( int left, int top ) - { GenericWindow::move( left, top ); } + /// Make some functions public + //@{ + using GenericWindow::show; + using GenericWindow::hide; + using GenericWindow::move; + using GenericWindow::getOSHandle; //@} /// Resize the window virtual void resize( int width, int height ); + /// get the parent window + virtual GenericWindow* getWindow( ) { return m_pParentWindow; } + /// Refresh an area of the window virtual void refresh( int left, int top, int width, int height ); + /// set Video Control for VoutWindow + virtual void setCtrlVideo( CtrlVideo* pCtrlVideo ); + + /// get original size of vout + virtual int getOriginalWidth( ) { return original_width; } + virtual int getOriginalHeight( ) { return original_height; } + virtual string getType() const { return "Vout"; } private: + /// Image when there is no video OSGraphics *m_pImage; + + /// vout thread + vout_thread_t* m_pVout; + + /// 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;