diff -r f15ac8e65a02 -r 779871d1e4f4 vtuis/videotelui/inc/CVtUiMainControl.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/vtuis/videotelui/inc/CVtUiMainControl.h Wed Sep 01 12:29:12 2010 +0100 @@ -0,0 +1,175 @@ +/* +* Copyright (c) 2004, 2005 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: Main pane control for Video Telephone application. +* +*/ + + + +#ifndef CVTUIMAINCONTROL_H +#define CVTUIMAINCONTROL_H + +// INCLUDES +#include "cvtuivideocontrolbase.h" + +// CLASS DECLARATION +class CVtUiAppUi; +class TVtUiStates; +class TAknTextLineLayout; + +/** +* Main pane control for Video Telephone application. +* +* @since Series 60 2.6 +*/ +class CVtUiMainControl : public CVtUiVideoControlBase + { + + public: // Constructors and destructor + + /** + * Constructor. + * @param aBitmapManager bitmap manager. + * @param aUiStates Ui states class. + */ + static CVtUiMainControl* NewL( CVtUiBitmapManager& aBitmapManager, + CVtUiAppUi& aAppUi, + TVtUiStates& aUiStates ); + + /** + * C++ destructor. + */ + ~CVtUiMainControl(); + + public: // New functions. + + /** + * Sets SQCif mode on/off. + * @param aIsSupported whether on/off + */ + void SupportSQCif( TBool aIsSupported ); + + /** + * LayoutRemoteVideo + */ + void LayoutRemoteVideo(); + + /** + * Get main control pointer event flag + * @return pointer event is from main control + */ + TBool IsMainControlPointerEvent(); + + public: // from CCoeControl + + /** + * @see CCoeControl::HandlePointerEventL + */ + void HandlePointerEventL( const TPointerEvent& aPointerEvent ); + + private: // from CVtUiVideoControlBase + + /** + * @see CVtUiContextControl::HandleSizeChanged + */ + void HandleSizeChanged(); + + /** + * @see CVtUiContextControl::DrawWaitingText + */ + TBool DrawWaitingText( CWindowGc& aGc ) const; + + /** + * @see CVtUiContextControl::StreamBlitPosition + */ + TPoint StreamBlitPosition() const; + + /** + * @see CVtUiContextControl::StreamClippingRect + */ + TRect StreamClippingRect() const; + + /** + * @see CVtUiContextControl::BlindImage + */ + CFbsBitmap* BlindImage() const; + + /** + * @see CVtUiContextControl::BlindMask + */ + CFbsBitmap* BlindMask() const; + + /** + * @see CVtUiContextControl::BlindBlitPosition + */ + TPoint BlindBlitPosition() const; + + /** + * @see CVtUiContextControl::WaitingTextLayout + */ + TAknTextLineLayout WaitingTextLayout( TInt aLine ); + + private: + + /** + * Private constructor. + */ + CVtUiMainControl( CVtUiBitmapManager& aBitmapManager, + CVtUiAppUi& aAppUi, + TVtUiStates& aUiStates ); + + /** + * C++ constructor. + * @param aBitmapManager bitmap manager. + */ + CVtUiMainControl(); + + /** + * Symbian constructor. + */ + void ConstructL(); + + private: + + // Background layout. + TAknLayoutRect iBackgroundLayout; + + // Blind icon identifier. + TVtUiBitmapPoolId iBlindId; + + // Blind icon mask identifier. + TVtUiBitmapPoolId iBlindMaskId; + + // Blind icon layout. + TAknLayoutRect iBlindLayout; + + // Stream layout. + TAknLayoutRect iStreamLayoutRect; + + // ETrue if sqcif is used in remote video. + TBool iSQCifRemote; + + // Reference to application UI. + CVtUiAppUi& iAppUi; + + // reference to uistates + TVtUiStates& iUiStates; + + // Main control pointer event flag + TBool iMCPointerEvent; + }; + +#endif // CVTUIMAINCONTROL_H + +// End of File