diff -r ea65f74e6de4 -r 8e5f6eea9c9f tvout/tvoutengine/inc/glxwindowvisibilitymonitor.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tvout/tvoutengine/inc/glxwindowvisibilitymonitor.h Tue Aug 31 15:14:51 2010 +0300 @@ -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: Class definition that monitors tv window visibility +* +*/ + + +#ifndef __GLXWINVISIBILITYMONITOR_H__ +#define __GLXWINVISIBILITYMONITOR_H__ + +// External Includes +#include // for CBase +#include // for MAknWsEventObserver + + +// Forward Declarations +class MGlxWindowVisibilityObserver; + + +/** + * Class Description + * An Active object derived class is used to monitor the visibility of the + * TV out window. + */ +NONSHARABLE_CLASS(CGlxWindowVisibilityMonitor) : public CBase, + public MAknWsEventObserver + { +public: + /** + * Static Symbian 2 stage constructor. + */ + static CGlxWindowVisibilityMonitor* NewL( + MGlxWindowVisibilityObserver& aVisibilityObserver ); + + /** + * Destructor. + */ + ~CGlxWindowVisibilityMonitor(); + + + /** + * Close. + */ + void Close(); + +private: + + /** + * Standard C++ constructor + */ + CGlxWindowVisibilityMonitor( + MGlxWindowVisibilityObserver& aVisibilityObserver ); + + /* + * Symbian second stage construction + */ + void ConstructL(); + +public: /// class member functions + + /** + * Provides the caller with the current visible state + * @return ETrue if the window is visible or false otherwise + */ + TBool IsVisible() const; + +public: // from MAknWsEventObserver + + void HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination ); + +private: /// class member data + /// Not ownded: The Akn event monitor + CAknWsEventMonitor* iAknEventMonitor; + + /// Not owned: Window visibility observer + MGlxWindowVisibilityObserver& iVisibilityObserver; + + /// The visible state + TBool iIsVisible; + }; + + + +#endif // __GLXWINVISIBILITYMONITOR_H__