]> git.sesse.net Git - vlc/blobdiff - modules/gui/skins2/src/vout_window.hpp
skins2 vout manager
[vlc] / modules / gui / skins2 / src / vout_window.hpp
index df03c2b7a7f20d4f0f0bb9ec6c79b055f9a07abe..90d8225214a3d800358aec225f02a92f7f8ae801 100644 (file)
 #include "generic_window.hpp"
 
 class OSGraphics;
+class CtrlVideo;
 
 
 /// Class to handle a video output window
 class VoutWindow: private GenericWindow
 {
     public:
-        VoutWindow( intf_thread_t *pIntf, int xPos, int yPos,
-                    bool dragDrop, bool playOnDrop, GenericWindow &rParent );
+
+        VoutWindow( intf_thread_t *pIntf, vout_thread_t* pVout,
+                    int width, int height, GenericWindow* pParent = NULL );
         virtual ~VoutWindow();
 
+        // counter used for debugging purpose
+        static int count;
+
         /// 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<VoutWindow> VoutWindowPtr;