diff -r 40261b775718 -r efebd1779a59 mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.h --- a/mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.h Tue Feb 02 01:56:55 2010 +0200 +++ b/mmlibs/mmfw/src/Client/Video/mediaclientvideodisplaybody.h Fri Apr 16 16:34:49 2010 +0300 @@ -1,4 +1,4 @@ -// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies). +// Copyright (c) 2002-2010 Nokia Corporation and/or its subsidiary(-ies). // All rights reserved. // This component and the accompanying materials are made available // under the terms of "Eclipse Public License v1.0" @@ -16,7 +16,7 @@ #ifndef MEDIACLIENTVIDEODISPLAYBODY_H #define MEDIACLIENTVIDEODISPLAYBODY_H -#include +#include "mediaclientextdisplayhandler.h" #include #include #include @@ -92,8 +92,8 @@ }; public: - static CMediaClientVideoDisplayBody* NewL(TInt aDisplayId); - static CMediaClientVideoDisplayBody* NewL(TInt aDisplayId, const TSurfaceId& aSurfaceId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio); + static CMediaClientVideoDisplayBody* NewL(TInt aDisplayId, TBool aExtDisplaySwitchingControl); + static CMediaClientVideoDisplayBody* NewL(TInt aDisplayId, const TSurfaceId& aSurfaceId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio, TBool aExtDisplaySwitchingControl); ~CMediaClientVideoDisplayBody(); @@ -129,7 +129,7 @@ CMediaClientVideoDisplayBody(TInt aDisplayId); CMediaClientVideoDisplayBody(TInt aDisplayId, const TSurfaceId& aSurfaceId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio); - void ConstructL(); + void ConstructL(TBool aExtDisplaySwitchingControl); CFbsBitGc::TGraphicsOrientation ConvertRotation(TVideoRotation aRotation); @@ -141,15 +141,18 @@ static CMediaClientVideoDisplayBody* FindDisplayWithWindowL(const RPointerArray& aDisplays, const RWindowBase& aWindow); TBool IsSurfaceCreated() const; TInt SetBackgroundSurface(TWindowData& aWindowData, const TRect& aCropRegion); - void CalculateExtentAndViewport(const TWindowData& aWindowData, TRect& aExtent, TRect& aViewport); TBool HasWindows() const; - void CreateExtDisplayConnProvAndRemoveSurfaceL(TBool aRemoveBackgroundSurface); - void RemoveExtDisplayConnProvAndRedrawL(); - void RemoveExtDisplayConnProv(); - void MedcpcExtDisplayCalculateExtentAndViewportL(TRect& aExtent, TRect& aViewport, TRect& aExternalDisplayRect); void MedcpcExtDisplayNotifyConnected(TBool aExtDisplayConnected); + void UpdateCropRegionL(const TRect& aCropRegion, TInt aPos); + void CreateExtDisplayPluginL(); + void RemoveExtDisplayPlugin(); + void CreateExtDisplayHandlerL(); + void RemoveExtDisplayHandler(); + void SetWindowArrayPtr2Client(); + void SetWindowArrayPtr2Ext(); + private: MMMFSurfaceEventHandler* iEventHandler; @@ -157,11 +160,15 @@ TSurfaceId iSurfaceId; TRect iCropRect; TVideoAspectRatio iAspectRatio; - RArray iWindows; + + RArray iClientWindows; + RArray iExtDisplayWindows; + RArray* iWindowsArrayPtr; TRect iCropRegion; TBool iClientRequestedExtDisplaySwitching; CExtDisplayConnectionProviderInterface* iExtDisplayConnectionProvider; + CMediaClientExtDisplayHandler* iExtDisplayHandler; TBool iExtDisplayConnected; TBool iExtDisplaySwitchingSupported;