diff -r 000000000000 -r 15bf7259bb7c uiacceltk/hitchcock/CommonInc/alfwindowstructs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uiacceltk/hitchcock/CommonInc/alfwindowstructs.h Tue Feb 02 07:56:43 2010 +0200 @@ -0,0 +1,140 @@ +#ifndef __ALFWINDOWSTRUCTS_H__ +#define __ALFWINDOWSTRUCTS_H__/* +* 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: +* +*/ + + + +#include + +class RMemWriteStream; +class RMemReadStream; + +/** + * Set of Integers that can be used to idnetify all window server windows in system + */ +NONSHARABLE_STRUCT(TWindowIdentifier) + { + /** + * Constructor, for convenience + **/ + //Default constructor + TWindowIdentifier() {} + + TWindowIdentifier(TInt aWindowGroupId, TInt aWindowIdentifer ): + iWindowGroupId(aWindowGroupId), iWindowIdentifer(aWindowIdentifer){} + + TBool IsNull() const + { + return (!(iWindowGroupId || iWindowIdentifer)); + } + + TBool Equals(const TWindowIdentifier& aId) const + { + return ((iWindowGroupId == aId.iWindowGroupId)&&(iWindowIdentifer==aId.iWindowIdentifer)); + } + + TInt iWindowGroupId; + TInt iWindowIdentifer; + }; + +enum TAlfWServFlags + { + EAlfWservFlagNone, + EAlfWservFlagDeleted = 0x1 /** Window was already deleted from wserv scene **/ + }; + + + +enum TAlfWindovEvents + { + EAlfWindowDestroyed = 0x1, /** Specific window was destroyed in wserv scene **/ + EAlfWindowPosChanged = 0x2, /** Window Position in wserv scene was changed **/ + EAlfWindowSizeChanged = 0x4, /** Window Size in wserv scene was changed **/ + EAlfWindowNewContent = 0x8, /** New drawing commands to InBuffer() **/ + EAlfWindowVisibile = 0x10, /** window changed to visible in wserv scene **/ + EAlfWindowNotVisibile = 0x20, /** window was hidden in wserv scene **/ + EAlfWindowIndexChanged = 0x40, /** z-order of window changed on server **/ + }; + +/** + * @struct TAlfWServInfo + * + * The struct provides encapsulation for specific wserv window data + * Usually this data is for reference only, e.g. effects plugin must + * not alter the data + **/ +NONSHARABLE_STRUCT(TAlfWServInfo) + { + /** + * Constructors, for convenience + **/ + TAlfWServInfo(): + iPosition(TPoint(0,0)), + iSize(TSize(0,0)), + iRefId(TWindowIdentifier(0,0)), + iClientSideId(TWindowIdentifier(0,0)), + iFlags(EAlfWservFlagNone), + iScreenNumber(0), + iParentRefId(TWindowIdentifier(0,0)){} + + + TAlfWServInfo(const TPoint& aPosition, const TSize& aSize, TInt aWgNodeId, + TInt aWsNodeId, TInt aWsClientHandle, TInt aWgClientHandle, TUint8 aScreenNumber = 0 ): + iPosition(aPosition), + iSize(aSize), + iRefId(TWindowIdentifier(aWgNodeId, aWsNodeId)), + iClientSideId(TWindowIdentifier(aWsClientHandle, aWgClientHandle)), + iFlags(EAlfWservFlagNone), + iScreenNumber( aScreenNumber ){} + + TPoint iPosition; /** Window position in WServ scene **/ + TSize iSize; /** Window Size in WServ scene **/ + TWindowIdentifier iRefId; /** Unique node ids between wserv and alf **/ + TWindowIdentifier iClientSideId; /** RWindow::ClientHandle(), RWindowGroup::Identifier() **/ + TUint iFlags; + MWsWindowTreeNode::TType iNodeType; + TUint8 iScreenNumber; + TWindowIdentifier iParentRefId; /** Unique node ids between wserv and alf **/ + +#ifdef ALF_DEBUG_TRACK_DRAWING + TBool iTrackWindow; +#endif + + /** + * For convenience. + * @return Indicates whether the window still exists in WServ scene + **/ + TBool ExistsInWServ() const + { + return !((iRefId.IsNull()) ||(iFlags & EAlfWservFlagDeleted)); + } + }; + + +NONSHARABLE_STRUCT(TChunkHeader) + { + TChunkHeader( ):iReadOffset(0), iWriteOffset(0),iMemWriteStream(NULL),iMemWriteStreamUsers(0),iMemReadStream(NULL){}; + + TUint32 iReadOffset; + TUint32 iWriteOffset; + TUint32 iCommittedWriteOffset; + RMemWriteStream* iMemWriteStream; + TUint8 iMemWriteStreamUsers; + RMemReadStream* iMemReadStream; + }; + +#endif