* 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: private GenericWindow
{
- public:
- VoutWindow( intf_thread_t *pIntf, int xPos, int yPos,
- bool dragDrop, bool playOnDrop, GenericWindow &rParent );
- virtual ~VoutWindow();
+public:
- /// Make some functions public
- //@{
- using GenericWindow::show;
- using GenericWindow::hide;
- using GenericWindow::move;
- //@}
+ VoutWindow( intf_thread_t *pIntf, vout_window_t* pWnd,
+ int width, int height, GenericWindow* pParent = NULL );
+ virtual ~VoutWindow();
- /// Resize the window
- virtual void resize( int width, int height );
+ /// Make some functions public
+ //@{
+ using GenericWindow::show;
+ using GenericWindow::hide;
+ using GenericWindow::move;
+ using GenericWindow::resize;
+ using GenericWindow::getOSHandle;
+ //@}
- /// Refresh an area of the window
- virtual void refresh( int left, int top, int width, int height );
+ /// get the parent window
+ virtual GenericWindow* getWindow( ) { return m_pParentWindow; }
- virtual string getType() const { return "Vout"; }
+ /// hotkeys processing
+ virtual void processEvent( EvtKey &rEvtKey );
- private:
- /// Image when there is no video
- OSGraphics *m_pImage;
+ /// set and get Video Control for VoutWindow
+ virtual void setCtrlVideo( CtrlVideo* pCtrlVideo );
+ virtual CtrlVideo* getCtrlVideo( ) { return m_pCtrlVideo; }
+
+ /// 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;