1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/graphics/windowing/windowserver/inc/openwfc/W32Debug.H Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,124 @@
1.4 +// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
1.5 +// All rights reserved.
1.6 +// This component and the accompanying materials are made available
1.7 +// under the terms of "Eclipse Public License v1.0"
1.8 +// which accompanies this distribution, and is available
1.9 +// at the URL "http://www.eclipse.org/legal/epl-v10.html".
1.10 +//
1.11 +// Initial Contributors:
1.12 +// Nokia Corporation - initial contribution.
1.13 +//
1.14 +// Contributors:
1.15 +//
1.16 +// Description:
1.17 +// Debug definitions designed to be used by client side test apps
1.18 +// requiring access to the related special debug features.
1.19 +//
1.20 +//
1.21 +
1.22 +#ifndef W32DEBUG_H_
1.23 +#define W32DEBUG_H_
1.24 +
1.25 +/**
1.26 +@file
1.27 +@publishedpartner
1.28 +@released
1.29 +*/
1.30 +
1.31 +enum TWsDebugInfoFunc
1.32 + {
1.33 + EWsDebugInfoHeap=1,
1.34 + EWsDebugSetCheckHeapOnDisconnectClient,
1.35 + EWsDebugSetCheckHeapOnDisconnectMode,
1.36 + EWsDebugFetchCheckHeapResult,
1.37 + EWsDebugHeartBeatState,
1.38 + EWsDebugSetAutoHeartBeatPauseState,
1.39 + EWsDebugSetEventQueueTest,
1.40 +
1.41 + //Insert more unclassified diagnostics above
1.42 +
1.43 + EWsDebugUnclassifiedMax, //Please insert new unclassified IDs before this
1.44 +
1.45 + EWsDebugClassMask= 0xFF000000,
1.46 + EWsDebugClassUnclassified= 0x00000000,
1.47 +
1.48 + EWsDebugClassScreenUiElement= 0x01000000, //specify EWsDebugArgScreenMask
1.49 + EWsDebugGetFastpathMode, //return: TInt
1.50 + EWsDebugSetFastpathMode, //set new mode in EWsDebugArgExtraMask (use 2-param method)
1.51 + EWsDebugGetUIElementInfoList, //return: TInt[[ElementCount], [ElementId, ElementType, IsDisabled] * ElementCount].
1.52 + EWsDebugGetUIElementBase, //return: TRect[]
1.53 + EWsDebugSetFastpathTestMode, //return: TBool
1.54 + EWsDebugSetFastpathOomMode, //return: TInt
1.55 + EWsDebugGetUIElementIds, //return: TInt[]
1.56 + EWsDebugGetSceneElementIdOrder, //return: TInt[]
1.57 + EWsDebugGetUIElementConfig, //return: TSurfaceConfig //Index UI Element via EWsDebugArgElementMask
1.58 + EWsDebugGetUIRegionCommittedTime, //return: TTime
1.59 + EWsDebugGetLastOptimizerError, //return: TInt
1.60 + EWsDebugGetFastpathTypeDetected, //return: TInt
1.61 +
1.62 + EWsDebugClassScreenUiElementMax,
1.63 + EWsDebugClassScreenElementSet= 0x02000000, //specify EWsDebugArgScreenMask
1.64 + EWsDebugSerialSurfacesUpdated, //return: TInt - Note non-param version returns value not length
1.65 + EWsDebugSurfaceWindowList, //return: TWsDebugWindowId[]
1.66 +
1.67 + EWsDebugClassScreenElementMax,
1.68 + EWsDebugClassElementSetWindow= 0x03000000, //specify EWsDebugArgScreenMask, EWsDebugArgWindowMask
1.69 + EWsDebugElementIdList, //return: TInt[] //entry 0 reserved for background
1.70 + EWsDebugBackgroundConfig, //return: TSurfaceConfig
1.71 + EWsDebugBackgroundBase, //return: TRect[]
1.72 + EWsDebugBackgroundFlags, //return: TInt[2]
1.73 + EWsDebugClassElementSetWindowMax,
1.74 + EWsDebugClassElementSetElement= 0x04000000, //specify EWsDebugArgScreenMask, EWsDebugArgWindowMask, EWsDebugArgElementMask
1.75 + EWsDebugPlacedConfig, //return: TSurfaceConfig
1.76 + EWsDebugPlacedBase, //return: TRect[]
1.77 + EWsDebugPlacedFlags, //return: TInt[2]
1.78 +
1.79 + EWsDebugClassElementSetElementMax,
1.80 + //next elementset based class
1.81 + EWsDebugClassElementNextAvail= 0x05000000,
1.82 +
1.83 + EWsDebugClassNonScreen= 0x10000000,
1.84 + EWsDebugClassClientWindow= 0x11000000, //specify client identifier in aParam. Only owned windows can be accessed.
1.85 + //Window diagnostics were not used during development so function ids and code have been removed.
1.86 + EWsDebugCliWinGroupIdMask= 0x00FFFF00,
1.87 + EWsDebugCliWinGroupIdShift= 16,
1.88 +
1.89 + };
1.90 +
1.91 +struct TWsDebugWindowId
1.92 + { //Root window has GroupId of 0x0000ffff, and clientid=screen number...
1.93 + TInt iClientId; //Should be unique across all windows per client
1.94 + TInt iOtherGroupId; //If zero, the window is owned by the calling RWsSession instance,
1.95 + }; //else the wserv generated group ID is enough to map to other sessions.
1.96 +
1.97 +/** Use these masks with aParam to index the object being accessed
1.98 + *
1.99 + **/
1.100 +enum TWsDebugClassArgMask
1.101 + {
1.102 + EWsDebugArgScreenMask= 0x000000ff,
1.103 + EWsDebugArgScreenShift= 0,
1.104 + EWsDebugArgWindowMask= 0x0000ff00,
1.105 + EWsDebugArgWindowShift= 8,
1.106 + EWsDebugArgElementMask= 0x00ff0000,
1.107 + EWsDebugArgElementShift= 16,
1.108 + EWsDebugArgExtraMask= 0xff000000,
1.109 + EWsDebugArgExtraShift= 24,
1.110 + };
1.111 +
1.112 +enum TWsCheckHeapOnDisconnectMode
1.113 + {
1.114 + EWsCheckHeapOnDisconnectModeNone=1,
1.115 + EWsCheckHeapOnDisconnectModeOnce,
1.116 + EWsCheckHeapOnDisconnectModeAlways,
1.117 + };
1.118 +
1.119 +struct TWsDebugHeapInfo
1.120 + {
1.121 + TInt iCount;
1.122 + TInt iTotal;
1.123 + TInt iAvailable;
1.124 + TInt iLargestAvailable;
1.125 + };
1.126 +
1.127 +#endif //W32DEBUG_H_