vtengines/videoteleng/Inc/Media/MVtEngDraw.h
changeset 0 ed9695c8bcbe
--- /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