--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/vtengines/videoteleng/Inc/Media/MVtEngDraw.h Mon Nov 23 14:47:47 2009 +0200
@@ -0,0 +1,141 @@
+/*
+* Copyright (c) 2004-2006 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: Remote video handling class.
+*
+*/
+
+
+
+#ifndef MVTENGDRAW_H
+#define MVTENGDRAW_H
+
+// INCLUDE
+
+#include <e32base.h>
+
+// FORWARD
+
+class MDisplaySink;
+class MDisplaySinkObserver;
+class TVtEngRenderConfig;
+
+/**
+* Drawer API.
+*
+* @lib videoteleng.lib
+* @since Series 60 3.2
+*/
+NONSHARABLE_CLASS( MVtEngDraw )
+ {
+ public:
+
+ /**
+ * Base construction for derived classes.
+ */
+ virtual void BaseConstructL() = 0;
+
+ /**
+ * Instantiates display sink.
+ */
+ virtual MDisplaySink* CreateSinkL() = 0;
+
+ /**
+ * Refresh view.
+ */
+ virtual void BaseRefreshL() = 0;
+
+ /**
+ * Updates the target bitmaps and/or displaymode
+ * and/or the sizes of bitmaps
+ */
+ virtual void BaseRefreshBitmapsL() = 0;
+
+ /**
+ * DoCancel method for inherited classes.
+ */
+ virtual void BaseDoCancel() = 0;
+
+ /**
+ * Configuration verifying routine for derived classes. If
+ * new configuration is not supported, then may this method
+ * leaves with appropriate error code.
+ */
+ virtual void BaseVerifyConfigL() = 0;
+
+ /**
+ * Called when DSA calls Restart() to start drawing again.
+ */
+ virtual void BaseRestartL() = 0;
+
+ /**
+ * Called when DSA calls AbortNow() to stop drawing.
+ */
+ virtual void BaseAbortNow() = 0;
+
+ /**
+ * Starts rendering.
+ */
+ virtual void BaseStartDrawL() = 0;
+
+ /**
+ * Stops rendering.
+ */
+ virtual void BaseStopDraw() = 0;
+
+ /**
+ * Sets configuration.
+ */
+ virtual void BaseSetConfigL( const TVtEngRenderConfig& aConfig ) = 0;
+
+ /**
+ * Called when UI foreground status changes.
+ */
+ virtual void BaseSetUIForegroundL( TBool aForeground ) = 0;
+
+ /**
+ * Called when incoming video frame size changes.
+ */
+ virtual void BaseVideoFrameSizeChangedL( const TSize& aTo ) = 0;
+
+ /**
+ * Request update last remote video frame through MVtEngFrameObserver::vtSetFrame.
+ */
+ virtual void BaseRequestLastFrame() = 0;
+
+ protected:
+
+ /**
+ * Returns current configuration settings.
+ */
+ virtual TVtEngRenderConfig& Config() = 0;
+
+ };
+
+/**
+* Remote drawer factory.
+*
+* @lib videoteleng.lib
+* @since Series 60 3.2
+*/
+class VtEngDrawFactory
+ {
+ public:
+ /**
+ * Factory method for creating drawer
+ * @param aObserver a callback interface
+ */
+ static MVtEngDraw* CreateDrawerL( MDisplaySinkObserver* aObserver, TBool );
+ };
+
+#endif // MVTENGDRAW_H
\ No newline at end of file