--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/uiacceltk/hitchcock/ServerCore/Inc/alfscreen.h Tue Feb 02 07:56:43 2010 +0200
@@ -0,0 +1,127 @@
+/*
+* Copyright (c) 2008 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: Server declaration, internal for Nokia
+*
+*/
+
+
+
+#ifndef __ALF_SCREEN_H__
+#define __ALF_SCREEN_H__
+
+#include <e32std.h>
+#include <e32base.h>
+#include <uiacceltk/HuiDisplay.h>
+#include <uiacceltk/HuiTextVisual.h>
+#include "alfshareddisplaycoecontrol.h"
+
+enum TAlfControlGroupRole
+ {
+ /** Unknown */
+ EAlfUnknownContainer,
+
+ /** Alf application control group */
+ EAlfSessionContainer,
+
+ /** WSERV window group */
+ EAlfWindowGroupContainer,
+
+ /** WSERV floating sprite group */
+ EAlfWindowFloatingSpriteContainer,
+
+ /** Group for showing effects */
+ EAlfFullScreenEffectContainer,
+ };
+
+NONSHARABLE_CLASS( TAlfControlGroupEntry )
+ {
+public:
+ TAlfControlGroupEntry() :
+ iControlGroup(NULL),
+ iWindowGroupNodeId(0),
+ iClientWindowGroupId(0),
+ iScreenNumber(0),
+ iSecureId(0)
+ {
+ }
+
+ /** Control group which represents a window group */
+ CHuiControlGroup* iControlGroup;
+
+ /** Window group node id, internal */
+ TInt iWindowGroupNodeId;
+
+ /** Window group id, external id seen e.g. by the application using wserv */
+ TInt iClientWindowGroupId;
+
+ TUint8 iScreenNumber;
+
+ TInt32 iSecureId;
+ };
+
+
+NONSHARABLE_CLASS(CAlfScreen) : public CBase
+ {
+ public:
+
+ /**
+ * Constructor
+ */
+ CAlfScreen();
+
+ /**
+ * 2nd phase construction
+ */
+ void ConstructL(TInt aScreenNum, MHuiDisplayRefreshObserver& aObserver, CHuiEnv& aHuiEnv, CAlfSharedDisplayCoeControl* aSharedCoeControl);
+ void ConstructL(TInt aScreenNum, MHuiDisplayRefreshObserver& aObserver, CHuiEnv& aHuiEnv, RWindow* aWindow);
+ void CommonConstructL( MHuiDisplayRefreshObserver& aObserver, CHuiEnv& aHuiEnv);
+ /**
+ * Destructor
+ */
+ ~CAlfScreen();
+
+ /**
+ * Returns the size of the screen in pixels
+ * @return Screesize in pixels
+ */
+ TSize Size() const;
+
+ /**
+ * Sets a flag which causes full visual tree visibility scan to happen later.
+ */
+ void SetVisualTreeVisibilityChanged(TBool aChanged);
+
+ /**
+ * Gets a flag which causes full visual tree visibility scan to happen later.
+ */
+ TBool IsVisualTreeVisibilityChanged();
+
+ public:
+
+ RArray<TAlfControlGroupEntry> iControlGroups;
+ CAlfSharedDisplayCoeControl* iCoeControl; // owned
+
+ CHuiDisplay* iDisplay;
+ CHuiControlGroup* iFloatingSpriteControlGroup;
+ CHuiControlGroup* iFullscreenEffectControlGroup;
+
+ TBool iVisualTreeVisibilityChanged;
+ TInt iScreenNum;
+ CFbsBitmap* iSwRenderingTarget;
+#ifdef SYMBIAN_BUILD_GCE
+ CHuiTextVisual* iFPSText;
+#endif
+ };
+
+#endif // __ALF_SCREEN_H__
\ No newline at end of file