]> git.sesse.net Git - vlc/blobdiff - modules/gui/skins2/src/vout_window.hpp
Qt: messages dialog: new verbosity spinbox
[vlc] / modules / gui / skins2 / src / vout_window.hpp
index c1da91a63d4e2713e652fce269d6d3442d3b4fc3..f64d033809bc2a7c812cee0a5487d2c398ddc7ab 100644 (file)
@@ -1,7 +1,7 @@
 /*****************************************************************************
  * vout_window.hpp
  *****************************************************************************
- * Copyright (C) 2003 VideoLAN
+ * Copyright (C) 2003 the VideoLAN team
  * $Id$
  *
  * Authors: Cyril Deguet     <asmax@via.ecp.fr>
  * 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 <vlc_vout_window.h>
 
 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<VoutWindow> VoutWindowPtr;