summaryrefslogtreecommitdiff
path: root/avmedia/source/xine/window.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'avmedia/source/xine/window.cxx')
-rw-r--r--avmedia/source/xine/window.cxx571
1 files changed, 0 insertions, 571 deletions
diff --git a/avmedia/source/xine/window.cxx b/avmedia/source/xine/window.cxx
deleted file mode 100644
index fb4f428c65fd..000000000000
--- a/avmedia/source/xine/window.cxx
+++ /dev/null
@@ -1,571 +0,0 @@
-/*************************************************************************
- *
- * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
- * Copyright 2000, 2010 Oracle and/or its affiliates.
- *
- * OpenOffice.org - a multi-platform office productivity suite
- *
- * This file is part of OpenOffice.org.
- *
- * OpenOffice.org is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Lesser General Public License version 3
- * only, as published by the Free Software Foundation.
- *
- * OpenOffice.org is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Lesser General Public License version 3 for more details
- * (a copy is included in the LICENSE file that accompanied this code).
- *
- * You should have received a copy of the GNU Lesser General Public License
- * version 3 along with OpenOffice.org. If not, see
- * <http://www.openoffice.org/license.html>
- * for a copy of the LGPLv3 License.
- *
- ************************************************************************/
-
-#include <com/sun/star/awt/SystemPointer.hdl>
-
-#include "window.hxx"
-#include "player.hxx"
-
-using namespace ::com::sun::star;
-
-namespace avmedia { namespace xine {
-
-// -----------
-// - statics -
-// -----------
-
-static ::osl::Mutex& ImplGetOwnStaticMutex()
-{
- static ::osl::Mutex* pMutex = NULL;
-
- if( pMutex == NULL )
- {
- ::osl::MutexGuard aGuard( ::osl::Mutex::getGlobalMutex() );
-
- if( pMutex == NULL )
- {
- static ::osl::Mutex aMutex;
- pMutex = &aMutex;
- }
- }
-
- return *pMutex;
-}
-
-// -----------
-// - WndProc -
-// -----------
-
-/*
-LRESULT CALLBACK MediaPlayerWndProc( HWND hWnd,UINT nMsg, WPARAM nPar1, LPARAM nPar2 )
-{
- Window* pWindow = (Window*) ::GetWindowLong( hWnd, 0 );
- bool bProcessed = true;
-
- if( pWindow )
- {
- switch( nMsg )
- {
- case( WM_SETCURSOR ):
- pWindow->updatePointer();
- break;
-
- case( WM_GRAPHNOTIFY ):
- pWindow->processGraphEvent();
- break;
-
- case( WM_MOUSEMOVE ):
- case( WM_LBUTTONDOWN ):
- case( WM_MBUTTONDOWN ):
- case( WM_RBUTTONDOWN ):
- case( WM_LBUTTONUP ):
- case( WM_MBUTTONUP ):
- case( WM_RBUTTONUP ):
- {
- awt::MouseEvent aUNOEvt;
- POINT aWinPoint;
-
- if( !::GetCursorPos( &aWinPoint ) || !::ScreenToClient( hWnd, &aWinPoint ) )
- {
- aWinPoint.x = GET_X_LPARAM( nPar2 );
- aWinPoint.y = GET_Y_LPARAM( nPar2 );
- }
- aUNOEvt.Modifiers = 0;
- aUNOEvt.Buttons = 0;
- aUNOEvt.X = aWinPoint.x;
- aUNOEvt.Y = aWinPoint.y;
- aUNOEvt.PopupTrigger = false;
-
- // Modifiers
- if( nPar1 & MK_SHIFT )
- aUNOEvt.Modifiers |= awt::KeyModifier::SHIFT;
-
- if( nPar1 & MK_CONTROL )
- aUNOEvt.Modifiers |= awt::KeyModifier::MOD1;
-
- // Buttons
- if( WM_LBUTTONDOWN == nMsg || WM_LBUTTONUP == nMsg )
- aUNOEvt.Buttons |= awt::MouseButton::LEFT;
-
- if( WM_MBUTTONDOWN == nMsg || WM_MBUTTONUP == nMsg )
- aUNOEvt.Buttons |= awt::MouseButton::MIDDLE;
-
- if( WM_RBUTTONDOWN == nMsg || WM_RBUTTONUP == nMsg )
- aUNOEvt.Buttons |= awt::MouseButton::RIGHT;
-
- // event type
- if( WM_LBUTTONDOWN == nMsg ||
- WM_MBUTTONDOWN == nMsg ||
- WM_RBUTTONDOWN == nMsg )
- {
- aUNOEvt.ClickCount = 1;
- pWindow->fireMousePressedEvent( aUNOEvt );
- }
- else if( WM_LBUTTONUP == nMsg ||
- WM_MBUTTONUP == nMsg ||
- WM_RBUTTONUP == nMsg )
- {
- aUNOEvt.ClickCount = 1;
- pWindow->fireMouseReleasedEvent( aUNOEvt );
- }
- else if( WM_MOUSEMOVE == nMsg )
- {
- aUNOEvt.ClickCount = 0;
- pWindow->fireMouseMovedEvent( aUNOEvt );
- pWindow->updatePointer();
- }
- }
- break;
-
- case( WM_SETFOCUS ):
- {
- const awt::FocusEvent aUNOEvt;
- pWindow->fireSetFocusEvent( aUNOEvt );
- }
- break;
-
- default:
- bProcessed = false;
- break;
- }
- }
- else
- bProcessed = false;
-
- return( bProcessed ? 0 : DefWindowProc( hWnd, nMsg, nPar1, nPar2 ) );
-}
-*/
-
-// ---------------
-// - Window -
-// ---------------
-
-Window::Window( Player& rPlayer ) :
- mrPlayer( rPlayer ),
- maListeners( maMutex ),
- meZoomLevel( media::ZoomLevel_NOT_AVAILABLE ),
- mnPointerType( awt::SystemPointer::ARROW )
-{
- ::osl::MutexGuard aGuard( ImplGetOwnStaticMutex() );
-}
-
-// ------------------------------------------------------------------------------
-
-Window::~Window()
-{
-}
-
-// ------------------------------------------------------------------------------
-
-void Window::implLayoutVideoWindow()
-{
- if( media::ZoomLevel_NOT_AVAILABLE != meZoomLevel )
- {
- awt::Size aPrefSize( mrPlayer.getPreferredPlayerWindowSize() );
- awt::Rectangle aRect = getPosSize();
- int nW = aRect.Width, nH = aRect.Height;
- int nVideoW = nW, nVideoH = nH;
- int nX = 0, nY = 0, nWidth = 0, nHeight = 0;
- bool bDone = false, bZoom = false;
-
- if( media::ZoomLevel_ORIGINAL == meZoomLevel )
- {
- bZoom = true;
- }
- else if( media::ZoomLevel_ZOOM_1_TO_4 == meZoomLevel )
- {
- aPrefSize.Width >>= 2;
- aPrefSize.Height >>= 2;
- bZoom = true;
- }
- else if( media::ZoomLevel_ZOOM_1_TO_2 == meZoomLevel )
- {
- aPrefSize.Width >>= 1;
- aPrefSize.Height >>= 1;
- bZoom = true;
- }
- else if( media::ZoomLevel_ZOOM_2_TO_1 == meZoomLevel )
- {
- aPrefSize.Width <<= 1;
- aPrefSize.Height <<= 1;
- bZoom = true;
- }
- else if( media::ZoomLevel_ZOOM_4_TO_1 == meZoomLevel )
- {
- aPrefSize.Width <<= 2;
- aPrefSize.Height <<= 2;
- bZoom = true;
- }
- else if( media::ZoomLevel_FIT_TO_WINDOW == meZoomLevel )
- {
- nWidth = nVideoW;
- nHeight = nVideoH;
- bDone = true;
- }
-
- if( bZoom )
- {
- if( ( aPrefSize.Width <= nVideoW ) && ( aPrefSize.Height <= nVideoH ) )
- {
- nX = ( nVideoW - aPrefSize.Width ) >> 1;
- nY = ( nVideoH - aPrefSize.Height ) >> 1;
- nWidth = aPrefSize.Width;
- nHeight = aPrefSize.Height;
- bDone = true;
- }
- }
-
- if( !bDone )
- {
- if( aPrefSize.Width > 0 && aPrefSize.Height > 0 && nVideoW > 0 && nVideoH > 0 )
- {
- double fPrefWH = (double) aPrefSize.Width / aPrefSize.Height;
-
- if( fPrefWH < ( (double) nVideoW / nVideoH ) )
- nVideoW = (int)( nVideoH * fPrefWH );
- else
- nVideoH = (int)( nVideoW / fPrefWH );
-
- nX = ( nW - nVideoW ) >> 1;
- nY = ( nH - nVideoH ) >> 1;
- nWidth = nVideoW;
- nHeight = nVideoH;
- }
- else
- nX = nY = nWidth = nHeight = 0;
- }
-
- /*
- IVideoWindow* pVideoWindow = const_cast< IVideoWindow* >( mrPlayer.getVideoWindow() );
-
- if( pVideoWindow )
- pVideoWindow->SetWindowPosition( nX, nY, nWidth, nHeight );
- */
- }
-}
-
-// ------------------------------------------------------------------------------
-
-bool Window::create( const uno::Sequence< uno::Any >& /*rArguments*/ )
-{
- bool bRet = false;
-
- return bRet;
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::update( )
- throw (uno::RuntimeException)
-{
-}
-
-// ------------------------------------------------------------------------------
-
-sal_Bool SAL_CALL Window::setZoomLevel( media::ZoomLevel eZoomLevel )
- throw (uno::RuntimeException)
-{
- bool bRet = false;
-
- if( media::ZoomLevel_NOT_AVAILABLE != meZoomLevel &&
- media::ZoomLevel_NOT_AVAILABLE != eZoomLevel )
- {
- if( eZoomLevel != meZoomLevel )
- {
- meZoomLevel = eZoomLevel;
- implLayoutVideoWindow();
- }
-
- bRet = true;
- }
-
- return bRet;
-}
-
-// ------------------------------------------------------------------------------
-
-media::ZoomLevel SAL_CALL Window::getZoomLevel( )
- throw (uno::RuntimeException)
-{
- return meZoomLevel;
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::setPointerType( sal_Int32 nPointerType )
- throw (uno::RuntimeException)
-{
- mnPointerType = nPointerType;
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::setPosSize( sal_Int32 /*X*/, sal_Int32 /*Y*/, sal_Int32 /*Width*/, sal_Int32 /*Height*/, sal_Int16 /*Flags*/ )
- throw (uno::RuntimeException)
-{
- implLayoutVideoWindow();
-}
-
-// ------------------------------------------------------------------------------
-
-awt::Rectangle SAL_CALL Window::getPosSize()
- throw (uno::RuntimeException)
-{
- awt::Rectangle aRet;
-
- return aRet;
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::setVisible( sal_Bool /* bVisible */ )
- throw (uno::RuntimeException)
-{
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::setEnable( sal_Bool /* bEnable */ )
- throw (uno::RuntimeException)
-{
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::setFocus( )
- throw (uno::RuntimeException)
-{
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::addWindowListener( const uno::Reference< awt::XWindowListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.addInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::removeWindowListener( const uno::Reference< awt::XWindowListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.removeInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::addFocusListener( const uno::Reference< awt::XFocusListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.addInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::removeFocusListener( const uno::Reference< awt::XFocusListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.removeInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::addKeyListener( const uno::Reference< awt::XKeyListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.addInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::removeKeyListener( const uno::Reference< awt::XKeyListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.removeInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::addMouseListener( const uno::Reference< awt::XMouseListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.addInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::removeMouseListener( const uno::Reference< awt::XMouseListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.removeInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::addMouseMotionListener( const uno::Reference< awt::XMouseMotionListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.addInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::removeMouseMotionListener( const uno::Reference< awt::XMouseMotionListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.removeInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::addPaintListener( const uno::Reference< awt::XPaintListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.addInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::removePaintListener( const uno::Reference< awt::XPaintListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.removeInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::dispose( )
- throw (uno::RuntimeException)
-{
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::addEventListener( const uno::Reference< lang::XEventListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.addInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void SAL_CALL Window::removeEventListener( const uno::Reference< lang::XEventListener >& xListener )
- throw (uno::RuntimeException)
-{
- maListeners.removeInterface( getCppuType( &xListener ), xListener );
-}
-
-// ------------------------------------------------------------------------------
-
-void Window::fireMousePressedEvent( const ::com::sun::star::awt::MouseEvent& rEvt )
-{
- ::cppu::OInterfaceContainerHelper* pContainer = maListeners.getContainer( getCppuType( (uno::Reference< awt::XMouseListener >*) 0 ) );
-
- if( pContainer )
- {
- ::cppu::OInterfaceIteratorHelper aIter( *pContainer );
-
- while( aIter.hasMoreElements() )
- uno::Reference< awt::XMouseListener >( aIter.next(), uno::UNO_QUERY )->mousePressed( rEvt );
- }
-}
-
-// -----------------------------------------------------------------------------
-
-void Window::fireMouseReleasedEvent( const ::com::sun::star::awt::MouseEvent& rEvt )
-{
- ::cppu::OInterfaceContainerHelper* pContainer = maListeners.getContainer( getCppuType( (uno::Reference< awt::XMouseListener >*) 0 ) );
-
- if( pContainer )
- {
- ::cppu::OInterfaceIteratorHelper aIter( *pContainer );
-
- while( aIter.hasMoreElements() )
- uno::Reference< awt::XMouseListener >( aIter.next(), uno::UNO_QUERY )->mouseReleased( rEvt );
- }
-}
-
-// -----------------------------------------------------------------------------
-
-void Window::fireMouseMovedEvent( const ::com::sun::star::awt::MouseEvent& rEvt )
-{
- ::cppu::OInterfaceContainerHelper* pContainer = maListeners.getContainer( getCppuType( (uno::Reference< awt::XMouseMotionListener >*) 0 ) );
-
- if( pContainer )
- {
- ::cppu::OInterfaceIteratorHelper aIter( *pContainer );
-
- while( aIter.hasMoreElements() )
- uno::Reference< awt::XMouseMotionListener >( aIter.next(), uno::UNO_QUERY )->mouseMoved( rEvt );
- }
-}
-
-// -----------------------------------------------------------------------------
-
-void Window::fireSetFocusEvent( const ::com::sun::star::awt::FocusEvent& rEvt )
-{
- ::cppu::OInterfaceContainerHelper* pContainer = maListeners.getContainer( getCppuType( (uno::Reference< awt::XFocusListener >*) 0 ) );
-
- if( pContainer )
- {
- ::cppu::OInterfaceIteratorHelper aIter( *pContainer );
-
- while( aIter.hasMoreElements() )
- uno::Reference< awt::XFocusListener >( aIter.next(), uno::UNO_QUERY )->focusGained( rEvt );
- }
-}
-
-// ------------------------------------------------------------------------------
-
-::rtl::OUString SAL_CALL Window::getImplementationName( )
- throw (uno::RuntimeException)
-{
- return ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM( AVMEDIA_XINE_WINDOW_IMPLEMENTATIONNAME ) );
-}
-
-// ------------------------------------------------------------------------------
-
-sal_Bool SAL_CALL Window::supportsService( const ::rtl::OUString& ServiceName )
- throw (uno::RuntimeException)
-{
- return ServiceName.equalsAsciiL( RTL_CONSTASCII_STRINGPARAM ( AVMEDIA_XINE_WINDOW_SERVICENAME ) );
-}
-
-// ------------------------------------------------------------------------------
-
-uno::Sequence< ::rtl::OUString > SAL_CALL Window::getSupportedServiceNames( )
- throw (uno::RuntimeException)
-{
- uno::Sequence< ::rtl::OUString > aRet(1);
- aRet[0] = ::rtl::OUString( RTL_CONSTASCII_USTRINGPARAM ( AVMEDIA_XINE_WINDOW_SERVICENAME ) );
-
- return aRet;
-}
-
-} // namespace xine
-} // namespace avmedia