sl@0: // Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef VIDEOPLAYER2_H sl@0: #define VIDEOPLAYER2_H sl@0: sl@0: #include sl@0: sl@0: class MMMFSurfaceEventHandler; sl@0: sl@0: /** sl@0: @publishedPartner sl@0: @released sl@0: sl@0: Extension class from CVideoPlayerUtility to allow graphics surface support. sl@0: */ sl@0: class CVideoPlayerUtility2 : public CVideoPlayerUtility sl@0: { sl@0: public: sl@0: sl@0: ~CVideoPlayerUtility2(); sl@0: IMPORT_C static CVideoPlayerUtility2* NewL(MVideoPlayerUtilityObserver& aObserver, sl@0: TInt aPriority, sl@0: TInt aPref); sl@0: sl@0: IMPORT_C void AddDisplayWindowL(RWsSession& aWs, CWsScreenDevice& aScreenDevice, sl@0: RWindow& aWindow, const TRect& aVideoExtent, sl@0: const TRect& aWindowClipRect); sl@0: sl@0: IMPORT_C void AddDisplayWindowL(RWsSession& aWs, CWsScreenDevice& aScreenDevice, RWindow& aWindow); sl@0: sl@0: IMPORT_C void RemoveDisplayWindow(RWindow& aWindow); sl@0: sl@0: IMPORT_C void SetVideoExtentL(const RWindow& aWindow, const TRect& aVideoExtent); sl@0: sl@0: IMPORT_C void SetWindowClipRectL(const RWindow& aWindow, const TRect& aWindowClipRect); sl@0: sl@0: IMPORT_C void SetRotationL(const RWindow& aWindow, TVideoRotation aRotation); sl@0: sl@0: IMPORT_C TVideoRotation RotationL(const RWindow& aWindow); sl@0: sl@0: IMPORT_C void SetScaleFactorL(const RWindow& aWindow, TReal32 aWidthPercentage, TReal32 aHeightPercentage); sl@0: sl@0: IMPORT_C void GetScaleFactorL(const RWindow& aWindow, TReal32& aWidthPercentage, TReal32& aHeightPercentage); sl@0: sl@0: IMPORT_C void SetAutoScaleL(const RWindow& aWindow, TAutoScaleType aScaleType); sl@0: sl@0: IMPORT_C void SetAutoScaleL(const RWindow& aWindow, TAutoScaleType aScaleType, TInt aHorizPos, TInt aVertPos); sl@0: sl@0: IMPORT_C void AddDisplayL(RWsSession& aWs, TInt aDisplay, MMMFSurfaceEventHandler& aEventHandler); sl@0: sl@0: IMPORT_C void RemoveDisplay(TInt aDisplay); sl@0: sl@0: IMPORT_C void SetExternalDisplaySwitchingL(TInt aDisplay, TBool aControl); sl@0: sl@0: #ifdef SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT sl@0: IMPORT_C TBool SubtitlesAvailable(); sl@0: sl@0: IMPORT_C void EnableSubtitlesL(); sl@0: sl@0: IMPORT_C void DisableSubtitles(); sl@0: sl@0: IMPORT_C TLanguage SubtitleLanguageL(); sl@0: sl@0: IMPORT_C TArray SupportedSubtitleLanguagesL(); sl@0: sl@0: IMPORT_C void SetSubtitleLanguageL(TLanguage aLanguage); sl@0: sl@0: IMPORT_C void RedrawSubtitle(RWindow& aWindow, const TRect &aRect); sl@0: #endif //SYMBIAN_MULTIMEDIA_SUBTITLE_SUPPORT sl@0: sl@0: private: sl@0: friend class CTestStepUnitMMFVidClient; sl@0: }; sl@0: sl@0: #endif // VIDEOPLAYER2_H