--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/mmlibs/mmfw/tsrc/mmvalidationsuite/mmvalidationsuiteapp/inc/mvsvideocontrol.h Tue Feb 02 01:56:55 2010 +0200
@@ -0,0 +1,95 @@
+// Copyright (c) 2008-2009 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"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef MVSVIDEOCONTROL_H
+#define MVSVIDEOCONTROL_H
+
+#include <coecntrl.h>
+#include <surfaceeventhandler.h>
+
+class CMVSPipControl :
+ public CCoeControl,
+ public MMMFSurfaceEventHandler
+ {
+public:
+ enum TRenderType
+ {
+ EUseMmf,
+ EUseCrp
+ };
+
+public:
+ static CMVSPipControl* NewL(RWindowTreeNode& aParent);
+ ~CMVSPipControl();
+
+ // MMMFSurfaceEventHandler
+ void MmsehSurfaceCreated(TInt aDisplayId, const TSurfaceId& aId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio);
+ void MmsehSurfaceParametersChanged(const TSurfaceId& aId, const TRect& aCropRect, TVideoAspectRatio aAspectRatio);
+ void MmsehRemoveSurface(const TSurfaceId& aId);
+
+ void SetRenderType(TRenderType aRenderType);
+ void Clear();
+ RWindow& ControlWindow() const;
+
+private:
+ CMVSPipControl();
+ void ConstructL(RWindowTreeNode& aParent);
+
+ void Draw(const TRect& aRect) const;
+
+private:
+ TRenderType iRenderType;
+ TInt iDisplayId;
+ TRect iCropRect;
+ };
+
+
+class CMVSVideoControl : public CCoeControl
+ {
+public:
+ static CMVSVideoControl* NewLC(CMVSVideoPlayAgent& aVideoPlayAgent, TInt aDisplay, RWindowTreeNode& aParent);
+ static CMVSVideoControl* NewL(CMVSVideoPlayAgent& aVideoPlayAgent, TInt aDisplay, RWindowTreeNode& aParent);
+
+ ~CMVSVideoControl();
+
+ RWindow& ControlWindow() const;
+ TInt ScreenNumber() const;
+
+ CMVSPipControl& Pip() const;
+ void EnablePip(CMVSPipControl::TRenderType aRenderType);
+ void DisablePip();
+
+ void SetOverlayTextL(const TDesC& aOverlayText);
+ void ClearOverlayText();
+
+private:
+ CMVSVideoControl(CMVSVideoPlayAgent& aVideoPlayAgent, TInt aDisplay);
+
+ void ConstructL(RWindowTreeNode& aParent);
+ void Draw(const TRect& aRect) const;
+
+ TInt CountComponentControls() const;
+ CCoeControl* ComponentControl(TInt aIndex) const;
+
+private:
+ CMVSVideoPlayAgent& iVideoPlayAgent;
+ TInt iDisplay;
+ CMVSPipControl* iPip;
+
+ RBuf iOverlayText; // Text to be drawn on top of video
+ };
+
+#endif // MVSVIDEOCONTROL_H
+