1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/graphics/windowing/windowserver/SERVER/w32cmd.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,2512 @@
1.4 +// Copyright (c) 1999-2010 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 +// Command numbers and structures for client to window server communications.
1.18 +//
1.19 +//
1.20 +
1.21 +#ifndef __W32CMD_H__
1.22 +#define __W32CMD_H__
1.23 +
1.24 +#include <e32std.h>
1.25 +#include <w32std.h>
1.26 +#include <gdi.h>
1.27 +#if defined(SYMBIAN_GRAPHICS_GCE)
1.28 +#include <graphics/surfaceconfiguration.h>
1.29 +#include <graphics/sgresource.h>
1.30 +#endif
1.31 +
1.32 +#include <graphics/displayconfiguration.h>
1.33 +#include <graphics/displaymapping.h>
1.34 +
1.35 +const TUint KWservMajorVersionNumber=1;
1.36 +const TUint KWservMinorVersionNumber=0;
1.37 +const TUint KWservBuildVersionNumber=151;
1.38 +
1.39 +const TUint KWservLoggingDllUidValue8=268435925;
1.40 +const TUid KWservLoggingDllUid8={KWservLoggingDllUidValue8};
1.41 +const TUint KWservLoggingDllUidValue16=268450595;
1.42 +const TUid KWservLoggingDllUid16={KWservLoggingDllUidValue16};
1.43 +//const TUint KUidWservLoggingCommon=268439591;
1.44 +const TUint KWservLoggingDllUidValue=KWservLoggingDllUidValue16;
1.45 +const TUid KWservLoggingDllUid={KWservLoggingDllUidValue};
1.46 +const TInt KDummyScreenNumber = -1;
1.47 +class CClickMaker;
1.48 +class CAnimDll;
1.49 +class CDebugLogBase;
1.50 +class TSurfaceId;
1.51 +
1.52 +/** Creates an interface object for Shell
1.53 +
1.54 +@publishedPartner
1.55 +@released
1.56 +*/
1.57 +typedef TInt (*ShellEntryPoint)(TAny *);
1.58 +
1.59 +/** Creates the key or pointer click plug-in provider interface.
1.60 +
1.61 +When a key is pressed, a key auto repeats or when the screen is tapped with a pointer,
1.62 +the window server informs the plug-in DLL, which can then make the sound.
1.63 +
1.64 +@publishedAll
1.65 +@released
1.66 +*/
1.67 +typedef CClickMaker *(*CreateCClickHandler)();
1.68 +
1.69 +/** Creates the animation dll factory interface object.
1.70 +
1.71 +Animation DLL objects are created by the CreateCAnimDllL() function,
1.72 +which is called by the window server at the request of the client.
1.73 +
1.74 +@publishedAll
1.75 +@released
1.76 +*/
1.77 +typedef CAnimDll* (*CreateCAnimDll)();
1.78 +
1.79 +
1.80 +class WservEncoding
1.81 + {
1.82 +public:
1.83 + static inline TUint Encode8BitValues(TUint8 aFirst,TUint8 aSecond);
1.84 + static inline TUint Encode8BitValues(TUint8 aFirst,TUint8 aSecond,TUint8 aThird);
1.85 + static inline TUint8 ExtractFirst8BitValue(TUint aUint);
1.86 + static inline TUint8 ExtractSecond8BitValue(TUint aUint);
1.87 + static inline TUint8 ExtractThird8BitValue(TUint aUint);
1.88 + };
1.89 +
1.90 +struct SKeyRepeatSettings
1.91 + {
1.92 + SKeyRepeatSettings();
1.93 + TTimeIntervalMicroSeconds32 iInitialTime;
1.94 + TTimeIntervalMicroSeconds32 iTime;
1.95 + };
1.96 +struct SDoubleClickSettings
1.97 + {
1.98 + SDoubleClickSettings();
1.99 + TTimeIntervalMicroSeconds32 iInterval;
1.100 + TInt iDistance;
1.101 + };
1.102 +//struct SMaxNumColors
1.103 +struct SDefModeMaxNumColors
1.104 + {
1.105 + SDefModeMaxNumColors();
1.106 + TInt iColors;
1.107 + TInt iGrays;
1.108 + TDisplayMode iDisplayMode;
1.109 + };
1.110 +struct SEventMessageReady
1.111 + {
1.112 + TInt iWindowGroupIdentifier;
1.113 + TUid iMessageUid;
1.114 + TInt iMessageParametersSize;
1.115 + };
1.116 +class TCmdSpriteMember
1.117 + {
1.118 +public:
1.119 + inline TCmdSpriteMember();
1.120 + TCmdSpriteMember(const TSpriteMember &aSpriteMember);
1.121 +public:
1.122 + TInt iBitmap;
1.123 + TInt iMaskBitmap;
1.124 + TBool iInvertMask;
1.125 + CGraphicsContext::TDrawMode iDrawMode;
1.126 + TPoint iOffset; // Offset from sprites central position
1.127 + TTimeIntervalMicroSeconds32 iInterval;
1.128 + };
1.129 +
1.130 +enum {EClientBufferSize=640}; // default buffer size
1.131 +enum {EClientBufferMaxSize=0x4000}; // 16K is max buffer size
1.132 +
1.133 +enum {EWsOpcodeHandle=0x8000}; // Indicates a new handle is included in the message header
1.134 +
1.135 +enum {EMaxPolygonPoints=50}; // Max size polygon that can be drawn without allocing
1.136 +enum {EMaxPolylinePoints=50}; // Max size polygon that can be drawn without allocing
1.137 +
1.138 +enum {EClickLoaded=0x01, EClickLoadable=0x02};
1.139 +
1.140 +////////////////////////
1.141 +// Opcodes
1.142 +////////////////////////
1.143 +
1.144 +// Client opcodes
1.145 +
1.146 +enum TWsClientOpcodes
1.147 + {
1.148 + EWsClOpDisconnect, //Keep this as the first enum value - used by test code
1.149 + EWsClOpClearHotKeys,
1.150 + EWsClOpSetHotKey,
1.151 + EWsClOpRestoreDefaultHotKey,
1.152 + EWsClOpComputeMode,
1.153 + EWsClOpEventReady,
1.154 + EWsClOpEventReadyCancel,
1.155 + EWsClOpGetEvent,
1.156 + EWsClOpPurgePointerEvents,
1.157 + EWsClOpRedrawReady,
1.158 + EWsClOpRedrawReadyCancel,
1.159 + EWsClOpGetRedraw,
1.160 + EWsClOpPriorityKeyReady,
1.161 + EWsClOpPriorityKeyReadyCancel,
1.162 + EWsClOpGetPriorityKey,
1.163 + EWsClOpSetShadowVector,
1.164 + EWsClOpShadowVector,
1.165 + EWsClOpSetKeyboardRepeatRate,
1.166 + EWsClOpGetKeyboardRepeatRate,
1.167 + EWsClOpSetDoubleClick,
1.168 + EWsClOpGetDoubleClickSettings,
1.169 + EWsClOpCreateWindowGroup,
1.170 + EWsClOpCreateWindow,
1.171 + EWsClOpCreateGc,
1.172 + EWsClOpCreateAnimDll,
1.173 + EWsClOpCreateScreenDevice,
1.174 + EWsClOpCreateSprite,
1.175 + EWsClOpCreatePointerCursor,
1.176 + EWsClOpStartSetCustomTextCursor,
1.177 + EWsClOpCompleteSetCustomTextCursor,
1.178 + EWsClOpCreateBitmap,
1.179 + EWsClOpNumWindowGroups,
1.180 + EWsClOpNumWindowGroupsAllPriorities,
1.181 + EWsClOpWindowGroupList,
1.182 + EWsClOpWindowGroupListAllPriorities,
1.183 + EWsClOpSetWindowGroupOrdinalPosition,
1.184 + EWsClOpGetWindowGroupHandle,
1.185 + EWsClOpGetWindowGroupOrdinalPriority,
1.186 + EWsClOpGetWindowGroupClientThreadId,
1.187 + EWsClOpGetWindowGroupNameFromIdentifier,
1.188 + EWsClOpGetFocusWindowGroup,
1.189 + EWsClOpGetDefaultOwningWindow,
1.190 + EWsClOpSendEventToWindowGroup,
1.191 + EWsClOpFindWindowGroupIdentifier,
1.192 + EWsClOpFindWindowGroupIdentifierThread,
1.193 + EWsClOpSetBackgroundColor,
1.194 + EWsClOpGetBackgroundColor,
1.195 + EWsClOpSetSystemPointerCursor,
1.196 + EWsClOpClearSystemPointerCursor,
1.197 + EWsClOpClaimSystemPointerCursorList,
1.198 + EWsClOpFreeSystemPointerCursorList,
1.199 + EWsClOpGetModifierState,
1.200 + EWsClOpSetModifierState,
1.201 + EWsClOpHeapCount,
1.202 + EWsClOpResourceCount,
1.203 + EWsClOpTestInvariant,
1.204 + EWsClOpHeapSetFail,
1.205 + EWsClOpRawEvent,
1.206 + EWsClOpSystemInfo,
1.207 + EWsClOpLogMessage,
1.208 + EWsClOpPasswordEntered,
1.209 + EWsClOpSendMessageToWindowGroup,
1.210 + EWsClOpSendOffEventsToShell,
1.211 + EWsClOpGetDefModeMaxNumColors,
1.212 + EWsClOpGetColorModeList,
1.213 + EWsClOpKeyEvent,
1.214 + EWsClOpSendEventToAllWindowGroup,
1.215 + EWsClOpSendEventToAllWindowGroupPriority,
1.216 + EWsClOpSetPointerCursorArea,
1.217 + EWsClOpPointerCursorArea,
1.218 + EWsClOpSetPointerCursorMode,
1.219 + EWsClOpPointerCursorMode,
1.220 + EWsClOpSetDefaultSystemPointerCursor,
1.221 + EWsClOpClearDefaultSystemPointerCursor,
1.222 + EWsClOpSetPointerCursorPosition,
1.223 + EWsClOpPointerCursorPosition,
1.224 + EWsClOpSetDefaultFadingParams,
1.225 + EWsClOpSendMessageToAllWindowGroups,
1.226 + EWsClOpSendMessageToAllWindowGroupsPriority,
1.227 + EWsClOpFetchMessage,
1.228 + EWsClOpPrepareForSwitchOff,
1.229 + EWsClOpCreateDirectScreenAccess,
1.230 + EWsClOpSetFaded,
1.231 + EWsClOpLogCommand,
1.232 + EWsClOpCreateClick,
1.233 + EWsClOpSendEventToOneWindowGroupPerClient,
1.234 +#if defined(__WINS__)
1.235 + EWsClOpRemoveKeyCode,
1.236 + EWsClOpSimulateXyInput,
1.237 +#endif
1.238 + EWsClOpNoFlickerFree,
1.239 + EWsClOpSetFocusScreen,
1.240 + EWsClOpGetFocusScreen,
1.241 + EWsClOpWindowGroupListAndChain,
1.242 + EWsClOpWindowGroupListAndChainAllPriorities,
1.243 + EWsClOpSetClientCursorMode,
1.244 + EWsClOpClearAllRedrawStores,
1.245 + EWsClOpCreateGraphic,
1.246 + EWsClOpGraphicMessageReady,
1.247 + EWsClOpGetGraphicMessage,
1.248 + EWsClOpGraphicMessageCancel,
1.249 + EWsClOpNumWindowGroupsOnScreen,
1.250 + EWsClOpGetNumberOfScreens,
1.251 + EWsClOpGraphicAbortMessage,
1.252 + EWsClOpGraphicFetchHeaderMessage,
1.253 + EWsClOpDebugInfo,
1.254 + EWsClOpDebugInfoReplyBuf,
1.255 + EWsClOpRegisterSurface,
1.256 + EWsClOpUnregisterSurface,
1.257 + EWsClOpSetCloseProximityThresholds,
1.258 + EWsClOpSetHighPressureThresholds,
1.259 + EWsClOpGetEnterCloseProximityThreshold,
1.260 + EWsClOpGetExitCloseProximityThreshold,
1.261 + EWsClOpGetEnterHighPressureThreshold,
1.262 + EWsClOpGetExitHighPressureThreshold,
1.263 + EWsClOpCreateDrawableSource,
1.264 + EWsClOpCreateDirectScreenAccessRegionTrackingOnly,
1.265 + EWsClOpSendEffectCommand,
1.266 + EWsClOpRegisterTFXEffectBuf,
1.267 + EWsClOpRegisterTFXEffectIPC,
1.268 + EWsClOpUnregisterTFXEffect,
1.269 + EWsClOpUnregisterAllTFXEffect,
1.270 + EWsClOpOverrideEffectBuf,
1.271 + EWsClOpOverrideEffectIPC,
1.272 + EWsClOpIndicateAppOrientation,
1.273 + EWsClOpLastEnumValue //Keep this at the end - used by test code
1.274 + };
1.275 +
1.276 +// Graphic Drawer opcodes
1.277 +
1.278 +enum TWsGraphicDrawerOpcodes
1.279 + {
1.280 + EWsGdOpFree = 0x0000,
1.281 + EWsGdOpSendMsg,
1.282 + EWsGdOpGetGraphicId,
1.283 + EWsGdOpShareGlobally,
1.284 + EWsGdOpUnShareGlobally,
1.285 + EWsGdOpShare,
1.286 + EWsGdOpUnShare,
1.287 + EWsGdOpSendSynchronMsg,
1.288 + };
1.289 +
1.290 +// types of Graphic Drawer messages to be passed from the Graphic Drawer to the client
1.291 +
1.292 +enum TWsGraphicMessageType
1.293 + {
1.294 + EWsGraphMessageTypeUser = 0x00
1.295 + // max 0x03 as packed into lower two bits of client handle
1.296 + };
1.297 +
1.298 +// Window opcodes
1.299 +
1.300 +enum TWsWindowOpcodes
1.301 + {
1.302 + EWsWinOpFree=0x0000,
1.303 + EWsWinOpSetExtent,
1.304 + EWsWinOpSetExtentErr,
1.305 + EWsWinOpOrdinalPosition,
1.306 + EWsWinOpFullOrdinalPosition,
1.307 + EWsWinOpSetOrdinalPosition,
1.308 + EWsWinOpSetOrdinalPositionPri,
1.309 + EWsWinOpSetOrdinalPriorityAdjust,
1.310 + EWsWinOpSetPos,
1.311 + EWsWinOpSetSize,
1.312 + EWsWinOpSetSizeErr,
1.313 + EWsWinOpPosition,
1.314 + EWsWinOpAbsPosition,
1.315 + EWsWinOpSize,
1.316 + EWsWinOpActivate,
1.317 + EWsWinOpInvalidate,
1.318 + EWsWinOpInvalidateFull,
1.319 + EWsWinOpBeginRedraw,
1.320 + EWsWinOpBeginRedrawFull,
1.321 + EWsWinOpEndRedraw,
1.322 + EWsWinOpTestInvariant,
1.323 + EWsWinOpParent,
1.324 + EWsWinOpPrevSibling,
1.325 + EWsWinOpNextSibling,
1.326 + EWsWinOpChild,
1.327 + EWsWinOpInquireOffset,
1.328 + EWsWinOpPointerFilter,
1.329 + EWsWinOpSetPointerCapture,
1.330 + EWsWinOpSetPointerGrab,
1.331 + EWsWinOpClaimPointerGrab,
1.332 + EWsWinOpSetBackgroundColor,
1.333 + EWsWinOpSetOrdinalPositionErr,
1.334 + EWsWinOpSetVisible,
1.335 + EWsWinOpScroll,
1.336 + EWsWinOpScrollClip,
1.337 + EWsWinOpScrollRect,
1.338 + EWsWinOpScrollClipRect,
1.339 + EWsWinOpReceiveFocus,
1.340 + EWsWinOpAutoForeground,
1.341 + EWsWinOpSetNoBackgroundColor,
1.342 + EWsWinOpCaptureKey,
1.343 + EWsWinOpCancelCaptureKey,
1.344 + EWsWinOpCaptureKeyUpsAndDowns,
1.345 + EWsWinOpCancelCaptureKeyUpsAndDowns,
1.346 + EWsWinOpAddPriorityKey,
1.347 + EWsWinOpRemovePriorityKey,
1.348 + EWsWinOpSetTextCursor,
1.349 + EWsWinOpSetTextCursorClipped,
1.350 + EWsWinOpCancelTextCursor,
1.351 + EWsWinOpSetShadowHeight,
1.352 + EWsWinOpShadowDisabled,
1.353 + EWsWinOpGetInvalidRegion,
1.354 + EWsWinOpGetInvalidRegionCount,
1.355 + EWsWinOpSetColor,
1.356 + EWsWinOpSetCornerType,
1.357 + EWsWinOpSetShape,
1.358 + EWsWinOpBitmapHandle,
1.359 + EWsWinOpUpdateScreen,
1.360 + EWsWinOpUpdateScreenRegion,
1.361 + EWsWinOpUpdateBackupBitmap,
1.362 + EWsWinOpMaintainBackup,
1.363 + EWsWinOpName,
1.364 + EWsWinOpSetName,
1.365 + EWsWinOpSetOwningWindowGroup,
1.366 + EWsWinOpDefaultOwningWindow,
1.367 + EWsWinOpRequiredDisplayMode,
1.368 + EWsWinOpEnableOnEvents,
1.369 + EWsWinOpDisableOnEvents,
1.370 + EWsWinOpEnableGroupChangeEvents,
1.371 + EWsWinOpDisableGroupChangeEvents,
1.372 + EWsWinOpSetPointerCursor,
1.373 + EWsWinOpSetCustomPointerCursor,
1.374 + EWsWinOpRequestPointerRepeatEvent,
1.375 + EWsWinOpCancelPointerRepeatEventRequest,
1.376 + EWsWinOpAllocPointerMoveBuffer,
1.377 + EWsWinOpFreePointerMoveBuffer,
1.378 + EWsWinOpEnablePointerMoveBuffer,
1.379 + EWsWinOpDisablePointerMoveBuffer,
1.380 + EWsWinOpRetrievePointerMoveBuffer,
1.381 + EWsWinOpDiscardPointerMoveBuffer, //Tested to here %%%
1.382 + EWsWinOpEnableModifierChangedEvents,
1.383 + EWsWinOpDisableModifierChangedEvents,
1.384 + EWsWinOpEnableErrorMessages,
1.385 + EWsWinOpDisableErrorMessages,
1.386 + EWsWinOpAddKeyRect,
1.387 + EWsWinOpRemoveAllKeyRects,
1.388 + EWsWinOpPasswordWindow,
1.389 + EWsWinOpEnableBackup,
1.390 + EWsWinOpIdentifier,
1.391 + EWsWinOpDisableKeyClick,
1.392 + EWsWinOpSetFade=EWsWinOpDisableKeyClick+3, //Two messages removed
1.393 + EWsWinOpSetNonFading,
1.394 + EWsWinOpFadeBehind,
1.395 + EWsWinOpEnableScreenChangeEvents,
1.396 + EWsWinOpDisableScreenChangeEvents,
1.397 + EWsWinOpSendPointerEvent,
1.398 + EWsWinOpSendAdvancedPointerEvent,
1.399 + EWsWinOpGetDisplayMode,
1.400 + EWsWinOpGetIsFaded,
1.401 + EWsWinOpGetIsNonFading,
1.402 + EWsWinOpOrdinalPriority,
1.403 + EWsWinOpClearPointerCursor,
1.404 + EWsWinOpMoveToGroup,
1.405 + EWsWinOpEnableFocusChangeEvents,
1.406 + EWsWinOpDisableFocusChangeEvents,
1.407 + EWsWinOpEnableGroupListChangeEvents,
1.408 + EWsWinOpDisableGroupListChangeEvents,
1.409 + EWsWinOpCaptureLongKey,
1.410 + EWsWinOpCancelCaptureLongKey,
1.411 + EWsWinOpStoreDrawCommands,
1.412 + EWsWinOpHandleTransparencyUpdate,
1.413 + EWsWinOpSetTransparencyFactor,
1.414 + EWsWinOpSetTransparencyBitmap,
1.415 + EWsWinOpAllowChildWindowGroup,
1.416 + EWsWinOpSetTransparencyBitmapCWs,
1.417 + EWsWinOpEnableVisibilityChangeEvents,
1.418 + EWsWinOpDisableVisibilityChangeEvents,
1.419 + EWsWinOpSetTransparencyAlphaChannel,
1.420 + EWsWinOpWindowGroupId,
1.421 + EWsWinOpSetPointerCapturePriority,
1.422 + EWsWinOpGetPointerCapturePriority,
1.423 + EWsWinOpSetTransparentRegion,
1.424 + EWsWinOpSetTransparencyPolicy,
1.425 + EWsWinOpIsRedrawStoreEnabled,
1.426 + EWsWinOpEnableOSB,
1.427 + EWsWinOpDisableOSB,
1.428 + EWsWinOpClearChildGroup,
1.429 + EWsWinOpSetChildGroup,
1.430 + EWsWinOpClientHandle,
1.431 + EWsWinOpSetBackgroundSurface,
1.432 + EWsWinOpKeyColor=EWsWinOpSetBackgroundSurface+2, //One message removed
1.433 + EWsWinOpSetBackgroundSurfaceConfig=EWsWinOpKeyColor+5, //Four messages removed
1.434 + EWsWinOpRemoveBackgroundSurface=EWsWinOpSetBackgroundSurfaceConfig+2, //One message removed
1.435 + EWsWinOpGetBackgroundSurfaceConfig=EWsWinOpRemoveBackgroundSurface+2, //One message removed
1.436 + EWsWinOpClearRedrawStore=EWsWinOpGetBackgroundSurfaceConfig+2, //One message removed
1.437 + EWsWinOpScreenNumber,
1.438 + EWsWinOpEnableAdvancedPointers,
1.439 +#ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS
1.440 + EWsWinOpSetSurfaceTransparency,
1.441 +#endif
1.442 + EWsWinOpSetPurpose,
1.443 + EWsWinOpSendEffectCommand,
1.444 + EWsWinOpOverrideEffectBuf,
1.445 + EWsWinOpOverrideEffectIPC,
1.446 + EWsWinOpTestLowPriorityRedraw=0x2000, //Specific opcode for testing redraw queue priorities
1.447 + };
1.448 +
1.449 +// GC opcodes
1.450 +
1.451 +enum TWsGcOpcodes
1.452 + {
1.453 + EWsGcOpFree=0x0000,
1.454 + EWsGcOpActivate,
1.455 + EWsGcOpDeactivate,
1.456 + EWsGcOpSetClippingRegion,
1.457 + EWsGcOpSetClippingRect,
1.458 + EWsGcOpCancelClippingRegion,
1.459 + EWsGcOpCancelClippingRect,
1.460 + EWsGcOpSetWordJustification,
1.461 + EWsGcOpSetCharJustification,
1.462 + EWsGcOpSetPenColor,
1.463 + EWsGcOpSetPenStyle,
1.464 + EWsGcOpSetPenSize,
1.465 + EWsGcOpSetBrushColor,
1.466 + EWsGcOpSetBrushStyle,
1.467 + EWsGcOpSetBrushOrigin,
1.468 + EWsGcOpUseBrushPattern,
1.469 + EWsGcOpDiscardBrushPattern,
1.470 + EWsGcOpDrawArc,
1.471 + EWsGcOpDrawLine,
1.472 + EWsGcOpPlot,
1.473 + EWsGcOpDrawTo,
1.474 + EWsGcOpDrawBy,
1.475 + EWsGcOpDrawPolyLine,
1.476 + EWsGcOpDrawPolyLineContinued, //Quater Way
1.477 +
1.478 + EWsGcOpDrawPie,
1.479 + EWsGcOpDrawRoundRect,
1.480 + EWsGcOpDrawPolygon,
1.481 + EWsGcOpStartSegmentedDrawPolygon,
1.482 + EWsGcOpSegmentedDrawPolygonData,
1.483 + EWsGcOpDrawSegmentedPolygon,
1.484 + EWsGcOpDrawBitmap,
1.485 + EWsGcOpDrawBitmap2,
1.486 + EWsGcOpDrawBitmap3,
1.487 + EWsGcOpDrawBitmapMasked,
1.488 + EWsGcOpWsDrawBitmapMasked,
1.489 + EWsGcOpDrawText,
1.490 + EWsGcOpDrawTextPtr,
1.491 + EWsGcOpDrawTextInContextPtr,
1.492 + EWsGcOpDrawTextInContext,
1.493 + EWsGcOpDrawTextVertical,
1.494 + EWsGcOpDrawTextInContextVertical,
1.495 + EWsGcOpDrawTextInContextVerticalPtr,
1.496 + EWsGcOpDrawTextVerticalPtr,
1.497 + EWsGcOpDrawBoxTextOptimised1,
1.498 + EWsGcOpDrawBoxTextOptimised2,
1.499 + EWsGcOpDrawBoxTextInContextOptimised1,
1.500 + EWsGcOpDrawBoxTextInContextOptimised2,
1.501 + EWsGcOpDrawBoxText,
1.502 + EWsGcOpDrawBoxTextInContext,
1.503 + EWsGcOpDrawBoxTextPtr,
1.504 + EWsGcOpDrawBoxTextInContextPtr,
1.505 + EWsGcOpDrawBoxTextVertical,
1.506 + EWsGcOpDrawBoxTextInContextVertical,
1.507 + EWsGcOpDrawBoxTextVerticalPtr,
1.508 + EWsGcOpDrawBoxTextInContextVerticalPtr,
1.509 + EWsGcOpMoveBy,
1.510 + EWsGcOpMoveTo,
1.511 + EWsGcOpSetOrigin,
1.512 + EWsGcOpCopyRect,
1.513 + EWsGcOpDrawRect,
1.514 + EWsGcOpDrawEllipse, //Half Way
1.515 +
1.516 + EWsGcOpGdiBlt2,
1.517 + EWsGcOpGdiBlt3,
1.518 + EWsGcOpGdiBltMasked,
1.519 + EWsGcOpGdiWsBlt2,
1.520 + EWsGcOpGdiWsBlt3,
1.521 + EWsGcOpGdiWsBltMasked,
1.522 + EWsGcOpSize,
1.523 + EWsGcOpUseFont,
1.524 + //Two unused codes deleted
1.525 + EWsGcOpDiscardFont=EWsGcOpUseFont+3,
1.526 + EWsGcOpSetUnderlineStyle,
1.527 + EWsGcOpSetStrikethroughStyle,
1.528 + EWsGcOpSetDrawMode,
1.529 + EWsGcOpTestInvariant,
1.530 + EWsGcOpClearRect,
1.531 + EWsGcOpClear,
1.532 + EWsGcOpReset,
1.533 + EWsGcOpSetDitherOrigin,
1.534 + EWsGcOpMapColors,
1.535 + EWsGcOpDrawWsGraphic, //PREQ1246 Bravo
1.536 + EWsGcOpDrawWsGraphicPtr,
1.537 +//
1.538 +// Local opcodes used internally access GC drawing code
1.539 +//
1.540 + EWsGcOpDrawPolyLineLocal,
1.541 + EWsGcOpDrawPolyLineLocalBufLen,
1.542 + EWsGcOpDrawPolygonLocal,
1.543 + EWsGcOpDrawPolygonLocalBufLen,
1.544 + EWsGcOpDrawTextLocal,
1.545 + EWsGcOpDrawTextInContextLocal,
1.546 + EWsGcOpDrawBoxTextLocal,
1.547 + EWsGcOpDrawBoxTextInContextLocal,
1.548 + EWsGcOpDrawBitmapLocal,
1.549 + EWsGcOpDrawBitmap2Local,
1.550 + EWsGcOpDrawBitmap3Local,
1.551 + EWsGcOpDrawBitmapMaskedLocal,
1.552 + EWsGcOpGdiBlt2Local,
1.553 + EWsGcOpGdiBlt3Local,
1.554 + EWsGcOpGdiBltMaskedLocal,
1.555 +
1.556 +//
1.557 +// Local opcodes used when reading long strings
1.558 +//
1.559 + EWsGcOpDrawTextPtr1,
1.560 + EWsGcOpDrawTextInContextPtr1,
1.561 + EWsGcOpDrawTextVerticalPtr1,
1.562 + EWsGcOpDrawTextInContextVerticalPtr1,
1.563 + EWsGcOpDrawBoxTextPtr1,
1.564 + EWsGcOpDrawBoxTextInContextPtr1,
1.565 + EWsGcOpDrawBoxTextVerticalPtr1,
1.566 + EWsGcOpDrawBoxTextInContextVerticalPtr1,
1.567 +
1.568 +//
1.569 +// New functions added leaving a space just in case it may be useful
1.570 +//
1.571 + EWsGcOpSetFaded=200,
1.572 + EWsGcOpSetFadeParams,
1.573 + EWsGcOpGdiAlphaBlendBitmaps,
1.574 + EWsGcOpGdiWsAlphaBlendBitmaps,
1.575 + EWsGcOpSetOpaque,
1.576 + EWsGcOpMapColorsLocal,
1.577 + EWsGcOpAlphaBlendBitmapsLocal,
1.578 + EWsGcOpSetShadowColor,
1.579 + EWsGcOpSetDrawTextInContext,
1.580 + EWsGcOpDrawResourceToPos,
1.581 + EWsGcOpDrawResourceToRect,
1.582 + EWsGcOpDrawResourceFromRectToRect,
1.583 + EWsGcOpDrawResourceWithData,
1.584 +//
1.585 +// Codes for internal use only
1.586 +//
1.587 + EWsStoreAllGcAttributes=1000,
1.588 + EWsStoreClippingRegion,
1.589 + EWsGcOpFlagDrawOp=0x8000,
1.590 + };
1.591 +
1.592 +enum TWsAnimDllOpcode
1.593 + {
1.594 + EWsAnimDllOpCreateInstance=0x0000,
1.595 + EWsAnimDllOpCommand,
1.596 + EWsAnimDllOpCommandReply,
1.597 + EWsAnimDllOpDestroyInstance,
1.598 + EWsAnimDllOpFree,
1.599 + EWsAnimDllOpCreateInstanceSprite,
1.600 + };
1.601 +
1.602 +enum TWsScreenDeviceOpcodes
1.603 + {
1.604 + EWsSdSetableBitFlag=0x80000000,
1.605 + EWsSdOpGetScanLine=0x0000,
1.606 + EWsSdOpPixel,
1.607 + EWsSdOpTwipsSize,
1.608 + EWsSdOpPixelSize,
1.609 + EWsSdOpFree,
1.610 + EWsSdOpHorizontalTwipsToPixels,
1.611 + EWsSdOpVerticalTwipsToPixels,
1.612 + EWsSdOpHorizontalPixelsToTwips,
1.613 + EWsSdOpVerticalPixelsToTwips,
1.614 + EWsSdOpDisplayMode,
1.615 + EWsSdOpRectCompare,
1.616 + EWsSdOpPointerRect,
1.617 + EWsSdOpCopyScreenToBitmap,
1.618 + EWsSdOpCopyScreenToBitmap2,
1.619 + EWsSdOpSetScreenSizeAndRotation,
1.620 + EWsSdOpSetScreenSizeAndRotation2,
1.621 + EWsSdOpGetDefaultScreenSizeAndRotation,
1.622 + EWsSdOpGetDefaultScreenSizeAndRotation2,
1.623 + EWsSdOpGetNumScreenModes,
1.624 + EWsSdOpSetScreenMode,
1.625 + EWsSdOpGetScreenModeSizeAndRotation,
1.626 + EWsSdOpGetScreenModeSizeAndRotation2,
1.627 + EWsSdOpSetScreenModeEnforcement,
1.628 + EWsSdOpScreenModeEnforcement,
1.629 + EWsSdOpSetModeRotation,
1.630 + EWsSdOpGetRotationList,
1.631 + EWsSdOpPaletteAttributes,
1.632 + EWsSdOpSetPalette,
1.633 + EWsSdOpGetPalette,
1.634 + EWsSdOpGetScreenMode,
1.635 + EWsSdOpGetDefaultScreenModeOrigin,
1.636 + EWsSdOpGetScreenModeOrigin,
1.637 + EWsSdOpGetScreenModeScale,
1.638 + EWsSdOpGetCurrentScreenModeScale,
1.639 + EWsSdOpSetAppScreenMode,
1.640 + EWsSdOpGetScreenModeScaledOrigin,
1.641 + EWsSdOpGetCurrentScreenModeScaledOrigin,
1.642 + EWsSdOpSetCurrentScreenModeAttributes,
1.643 + EWsSdOpGetCurrentScreenModeAttributes,
1.644 + EWsSdOpGetScreenNumber,
1.645 + EWsSdOpGetScreenSizeModeList,
1.646 + EWsSdOpGetScreenModeDisplayMode,
1.647 + EWsClOpSetBackLight,
1.648 + EWsSdOpExtensionsSupported,
1.649 + EWsSdOpXDcGetNumberOfResolutions,
1.650 + EWsSdOpXDcGetResolutionsList,
1.651 + EWsSdOpXDcGetConfiguration,
1.652 + EWsSdOpXDcSetConfiguration,
1.653 + EWsSdOpXDcGetPreferredDisplayVersion,
1.654 + EWsSdOpXDcNotifyOnDisplayChange,
1.655 + EWsSdOpXDcNotifyOnDisplayChangeCancel,
1.656 + EWsSdOpXDcDisplayChangeEventEnabled,
1.657 + EWsSdOpXDmMapExtent,
1.658 + EWsSdOpXTestScreenCapture,
1.659 + EWsSdOpIsScreenModeDynamic,
1.660 + EWsSdOpXTestScreenCaptureSize,
1.661 + };
1.662 +
1.663 +/** Bitfield of interface extensions explicitly supported.
1.664 + * The client interface is welcome to group functionality in different ways, if desired.
1.665 + * Operations classified as inside extensions can be called and fail safely on an individual basis.
1.666 + * Note that to distinguish versions, new bits may need to be used.
1.667 + * The top bit is reserved so that error value returns can be distinguished.
1.668 + **/
1.669 +enum TWsInterfaceExtensions
1.670 + {
1.671 + TWsSdXDisplayControl = 0x00000001,
1.672 + TWsSdXDisplayMapping = 0x00000002,
1.673 + TWsSdXDebugComposition = 0x00000004,
1.674 +
1.675 +
1.676 + TWsSdXReservedErrorFlag = 0x80000000
1.677 + };
1.678 +
1.679 +enum TWsSpriteOpcodes
1.680 + {
1.681 + EWsSpriteOpFree=0x0000,
1.682 + EWsSpriteOpSetPosition,
1.683 + EWsSpriteOpUpdateMember,
1.684 + EWsSpriteOpUpdateMember2,
1.685 + EWsSpriteOpActivate,
1.686 + EWsSpriteOpAppendMember,
1.687 + };
1.688 +
1.689 +enum TWsBitmapOpcodes
1.690 + {
1.691 + EWsBitmapOpFree=0x0000,
1.692 + };
1.693 +
1.694 +enum TWsDirectOpcodes
1.695 + {
1.696 + EWsDirectOpFree=0x0000,
1.697 + EWsDirectOpRequest,
1.698 + EWsDirectOpInitFailed,
1.699 + EWsDirectOpGetRegion,
1.700 + EWsDirectOpCancel,
1.701 + EWsDirectOpGetSendQueue,
1.702 + EWsDirectOpGetRecQueue,
1.703 + };
1.704 +
1.705 +enum TWsClickOpcodes
1.706 + {
1.707 + EWsClickOpFree=0x0000,
1.708 + EWsClickOpIsLoaded,
1.709 + EWsClickOpUnLoad,
1.710 + EWsClickOpLoad,
1.711 + EWsClickOpCommandReply,
1.712 + EWsClickOpSetKeyClick,
1.713 + EWsClickOpSetPenClick,
1.714 + EWsClickOpKeyClickEnabled,
1.715 + EWsClickOpPenClickEnabled,
1.716 + };
1.717 +
1.718 +enum TWsGraphicBitFlags
1.719 + {
1.720 + EWsGraphicIdUid = 0x01,
1.721 + EWsGraphicIdTransient = 0x02,
1.722 + EWsGraphicReplace = 0x04
1.723 + };
1.724 +
1.725 +enum TWsDrawableSourceOpcodes
1.726 + {
1.727 + EWsDrawableSourceOpFree=0x0000,
1.728 + };
1.729 +
1.730 +////////////////////////
1.731 +// Command structures
1.732 +////////////////////////
1.733 +
1.734 +/** Structure used to pass commands between the client and the server.
1.735 +
1.736 +@internalComponent
1.737 +@released
1.738 +@see RWsBuffer::DoWrite()
1.739 +@see CWsClient::DoCommandBufL()
1.740 +*/
1.741 +struct TWsCmdHeaderBase
1.742 + {
1.743 + TUint16 iOpcode;
1.744 + TInt16 iCmdLength;
1.745 + };
1.746 +
1.747 +/** Structure used to pass commands between the client and the server.
1.748 +
1.749 +@internalComponent
1.750 +@released
1.751 +@see RWsBuffer::DoWrite()
1.752 +@see CWsClient::DoCommandBufL()
1.753 +*/
1.754 +struct TWsCmdHeader
1.755 + {
1.756 + TWsCmdHeaderBase iBase;
1.757 + TInt32 iDestHandle;
1.758 + };
1.759 +
1.760 +//
1.761 +// Command structures
1.762 +//
1.763 +
1.764 +// Client command structures
1.765 +
1.766 +enum TWinTypes
1.767 + {
1.768 + EWinRedraw,
1.769 + EWinBackedUp,
1.770 + EWinBlank,
1.771 + };
1.772 +
1.773 +struct TWsClCmdCreateWindow
1.774 + {
1.775 + TInt parent;
1.776 + TUint32 clientHandle;
1.777 + TWinTypes type;
1.778 + TDisplayMode displayMode; // Only used for backed up windows
1.779 + };
1.780 +struct TWsClCmdCreateWindowGroup
1.781 + {
1.782 + TUint32 clientHandle;
1.783 + TBool focus;
1.784 + TInt parentId;
1.785 + TInt32 screenDeviceHandle;
1.786 + };
1.787 +struct TWsClCmdLoadAnimDll
1.788 + {
1.789 + TInt length;
1.790 + };
1.791 +struct TWsClCmdCreatePointerCursor
1.792 + {
1.793 + TUint flags;
1.794 + };
1.795 +struct TWsClCmdCustomTextCursorData
1.796 + {
1.797 + TInt identifier;
1.798 + TUint flags;
1.799 + RWsSession::TCustomTextCursorAlignment alignment;
1.800 + };
1.801 +struct TWsClCmdCreateSprite
1.802 + {
1.803 + inline TWsClCmdCreateSprite(TInt aWindow, const TPoint &aPos, TUint aFlags);
1.804 + TInt window;
1.805 + TPoint pos;
1.806 + TUint flags;
1.807 + };
1.808 +struct TWsClCmdCreateBitmap
1.809 + {
1.810 + TInt handle;
1.811 + };
1.812 +struct TWsClCmdSetHotKey
1.813 + {
1.814 + TUint type;
1.815 + TUint modifiers;
1.816 + TUint modifierMask;
1.817 + TUint16 keycode;
1.818 + TUint16 filler;
1.819 + };
1.820 +struct TWsClCmdWindowGroupList
1.821 + {
1.822 + TInt priority;
1.823 + TInt count;
1.824 + TInt screenNumber;
1.825 + };
1.826 +struct TWsClCmdSetWindowGroupOrdinalPosition
1.827 + {
1.828 + inline TWsClCmdSetWindowGroupOrdinalPosition(TInt aIdentifier, TInt aPosition);
1.829 + TInt identifier;
1.830 + TInt position;
1.831 + };
1.832 +struct TWsClCmdSetKeyboardRepeatRate
1.833 + {
1.834 + inline TWsClCmdSetKeyboardRepeatRate(const TTimeIntervalMicroSeconds32 &aInitial,const TTimeIntervalMicroSeconds32 &aTime);
1.835 + TTimeIntervalMicroSeconds32 initial;
1.836 + TTimeIntervalMicroSeconds32 time;
1.837 + };
1.838 +struct TWsClCmdSetDoubleClick
1.839 + {
1.840 + inline TWsClCmdSetDoubleClick(const TTimeIntervalMicroSeconds32 &aInterval,TInt aDistance);
1.841 + TTimeIntervalMicroSeconds32 interval;
1.842 + TInt distance;
1.843 + };
1.844 +struct TWsClCmdSetSystemPointerCursor
1.845 + {
1.846 + TInt handle;
1.847 + TInt number;
1.848 + };
1.849 +struct TWsClCmdHeapSetFail
1.850 + {
1.851 + RHeap::TAllocFail type;
1.852 + TInt value;
1.853 + TInt burst;
1.854 + };
1.855 +struct TWsClCmdSendEventToWindowGroup
1.856 + {
1.857 + inline TWsClCmdSendEventToWindowGroup(TInt aParameter, const TWsEvent &aEvent);
1.858 + TInt parameter;
1.859 + TWsEvent event;
1.860 + };
1.861 +struct TWsClCmdFindWindowGroupIdentifier
1.862 + {
1.863 + inline TWsClCmdFindWindowGroupIdentifier(TInt aPreviousIdentifier,TInt aOffset, TInt aLength);
1.864 + TInt identifier;
1.865 + TInt offset;
1.866 + TInt length;
1.867 + };
1.868 +struct TWsClCmdSendMessageToWindowGroup
1.869 + {
1.870 + inline TWsClCmdSendMessageToWindowGroup(TInt aIdentifier, TUid aUid, TInt aDataLength, const TDesC8 *aPtr);
1.871 + TInt identifierOrPriority; // identifier in case of EWsClOpSendMessageToWindowGroup, not used in case of EWsClOpSendMessageToAllWindowGroup, priority in case of EWsClOpSendMessageToAllWindowGroupPriority
1.872 + TUid uid;
1.873 + TInt dataLength;
1.874 + const TDesC8 *ptr;
1.875 + };
1.876 +struct TWsClCmdFetchMessage
1.877 + {
1.878 + inline TWsClCmdFetchMessage(TInt aWindowGroupIdentifier);
1.879 + TInt windowGroupIdentifier;
1.880 + };
1.881 +struct TWsClCmdFindWindowGroupIdentifierThread
1.882 + {
1.883 + inline TWsClCmdFindWindowGroupIdentifierThread(TInt aPreviousIdentifier,TThreadId aThreadId);
1.884 + TInt identifier;
1.885 + TThreadId threadId;
1.886 + };
1.887 +struct TWsClCmdGetWindowGroupNameFromIdentifier
1.888 + {
1.889 + inline TWsClCmdGetWindowGroupNameFromIdentifier(TInt aIdentifier,TInt aMaxLength);
1.890 + TInt identifier;
1.891 + TInt maxLength;
1.892 + };
1.893 +struct TWsClCmdOffEventsToShell
1.894 + {
1.895 + inline TWsClCmdOffEventsToShell(TBool aOn,TUint32 aWindow);
1.896 + TBool on;
1.897 + TUint32 window;
1.898 + };
1.899 +struct TWsClCmdSetModifierState
1.900 + {
1.901 + TEventModifier modifier;
1.902 + TModifierState state;
1.903 + };
1.904 +struct TWsClCmdSetPointerCursorArea
1.905 + {
1.906 + inline TWsClCmdSetPointerCursorArea(TInt aMode,TRect aArea);
1.907 + TInt mode;
1.908 + TRect area;
1.909 + };
1.910 +struct TWsClCmdSetSystemFaded
1.911 + {
1.912 + enum {EFaded=0x01,EUseDefaultMap=0x02};
1.913 + inline TWsClCmdSetSystemFaded(TBool aFaded,TBool aUseDefaults=ETrue,TUint8 aBlackMap=0,TUint8 aWhiteMap=0);
1.914 + inline TBool Faded() const;
1.915 + inline TBool UseDefaultMap() const;
1.916 + inline void GetFadingParams(TUint8& aBlackMap,TUint8& aWhiteMap) const;
1.917 + TUint params;
1.918 + };
1.919 +struct TWsClCmdCreateGraphic
1.920 + {
1.921 + TUint iFlags; // TWsGraphicBitFlags
1.922 + TInt iClientHandle;
1.923 + TInt iId;
1.924 + TUid iType;
1.925 + TInt iDataLen;
1.926 + TBool iRemoteReadData;
1.927 + };
1.928 +struct TWsClCmdGdSendMessage
1.929 + {
1.930 + TInt iDataLen;
1.931 + TBool iRemoteReadData;
1.932 + };
1.933 +struct TWsClCmdGdGetId
1.934 + {
1.935 + TInt iId;
1.936 + TBool iIsUid;
1.937 + };
1.938 +struct TWsClCmdDebugInfo
1.939 + {
1.940 + inline TWsClCmdDebugInfo(TInt aFunction, TInt aParam);
1.941 + TInt iFunction;
1.942 + TInt iParam;
1.943 + };
1.944 +struct TWsClCmdCreateDrawableSource;
1.945 +struct TWsClCmdSurfaceRegister;
1.946 +#if defined(SYMBIAN_GRAPHICS_GCE)
1.947 +struct TWsClCmdCreateDrawableSource
1.948 + {
1.949 + inline TWsClCmdCreateDrawableSource(const TSgDrawableId& aDrawableId, TInt aScreenNumber);
1.950 + TSgDrawableId iDrawableId;
1.951 + TInt iScreenNumber;
1.952 + };
1.953 +struct TWsClCmdSurfaceRegister
1.954 + {
1.955 + inline TWsClCmdSurfaceRegister(TInt aScreenNumber, const TSurfaceId& aSurface);
1.956 + TInt screenNumber;
1.957 + TSurfaceId surfaceId;
1.958 + };
1.959 +#endif
1.960 +struct TWsClCmdNumWindowGroups
1.961 + {
1.962 + TInt screenNumber;
1.963 + TInt priority;
1.964 + };
1.965 +struct TWsClCmdCreateScreenDevice
1.966 + {
1.967 + TInt screenNumber;
1.968 + TUint clientScreenDevicePointer;
1.969 + };
1.970 +struct TWsClCmdZThresholdPair
1.971 + {
1.972 + inline TWsClCmdZThresholdPair(const TInt aEnterThreshold, const TInt aExitThreshold);
1.973 + TInt enterThreshold;
1.974 + TInt exitThreshold;
1.975 + };
1.976 +struct TWsClCmdSendEffectCommand
1.977 + {
1.978 + inline TWsClCmdSendEffectCommand(TInt aTfxCmd,TInt aTfxCmdDataLength, TInt aWinHandle);
1.979 + TInt tfxCmd;
1.980 + TInt tfxCmdDataLength;
1.981 + TInt windowHandle;
1.982 + };
1.983 +struct TWsClCmdRegisterEffect
1.984 + {
1.985 + inline TWsClCmdRegisterEffect(TInt aAction, TInt aPurpose, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize, TUint aAppUid, TBitFlags aFlags);
1.986 + TInt tfxAction;
1.987 + TInt tfxPurpose;
1.988 + TInt tfxDirStrSize;
1.989 + TInt tfxPhase1StrSize;
1.990 + TInt tfxPhase2StrSize;
1.991 + TUint tfxAppUid;
1.992 + TBitFlags tfxFlags;
1.993 + };
1.994 +struct TWsClCmdUnRegisterEffect
1.995 + {
1.996 + inline TWsClCmdUnRegisterEffect(TInt aAction, TInt aPurpose, TUint aAppUid);
1.997 + TInt tfxAction;
1.998 + TInt tfxPurpose;
1.999 + TUint tfxAppUid;
1.1000 + };
1.1001 +struct TWsClCmdOverrideEffect
1.1002 + {
1.1003 + inline TWsClCmdOverrideEffect(TInt aAction, TInt aPurpose, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize, TBitFlags aFlags);
1.1004 + TInt tfxAction;
1.1005 + TInt tfxPurpose;
1.1006 + TInt tfxDirStrSize;
1.1007 + TInt tfxPhase1StrSize;
1.1008 + TInt tfxPhase2StrSize;
1.1009 + TBitFlags tfxFlags;
1.1010 + };
1.1011 +typedef TRequestStatus *RqStatPtr;
1.1012 +union TWsClCmdUnion
1.1013 + {
1.1014 + const TAny* any;
1.1015 + const TAny** pAny;
1.1016 + const TInt* Int;
1.1017 + const TUint* UInt;
1.1018 + const TBool* Bool;
1.1019 + const TUid* Uid;
1.1020 + const TPointerCursorMode* Mode;
1.1021 + const TInt *XyInput;
1.1022 + const TPoint* Point;
1.1023 + const TRgb* rgb;
1.1024 + const RqStatPtr* RequestStatus;
1.1025 + const TRawEvent* RawEvent;
1.1026 + const TKeyEvent* KeyEvent;
1.1027 + const RWsSession::TComputeMode* ComputeMode;
1.1028 + const RWsSession::TLoggingCommand* LogCommand;
1.1029 + const TWsClCmdCreateWindow* CreateWindow;
1.1030 + const TWsClCmdCreateWindowGroup* CreateWindowGroup;
1.1031 + const TWsClCmdLoadAnimDll* LoadAnimDll;
1.1032 + const TWsClCmdCreatePointerCursor* CreatePointerCursor;
1.1033 + const TWsClCmdCustomTextCursorData* CustomTextCursorData;
1.1034 + const TWsClCmdCreateSprite* CreateSprite;
1.1035 + const TWsClCmdCreateBitmap* CreateBitmap;
1.1036 + const TWsClCmdSetHotKey* SetHotKey;
1.1037 + const TWsClCmdWindowGroupList* WindowGroupList;
1.1038 + const TWsClCmdSetWindowGroupOrdinalPosition* SetWindowGroupOrdinalPosition;
1.1039 + const TWsClCmdSetKeyboardRepeatRate* SetKeyboardRepeatRate;
1.1040 + const TWsClCmdHeapSetFail* HeapSetFail;
1.1041 + const TWsClCmdSetDoubleClick* SetDoubleClick;
1.1042 + const TWsClCmdSetSystemPointerCursor* SetSystemPointerCursor;
1.1043 + const TWsClCmdSendEventToWindowGroup* SendEventToWindowGroup;
1.1044 + const TWsClCmdSendMessageToWindowGroup* SendMessageToWindowGroup;
1.1045 + const TWsClCmdFetchMessage* FetchMessage;
1.1046 + const TWsClCmdFindWindowGroupIdentifier* FindWindowGroupIdentifier;
1.1047 + const TWsClCmdFindWindowGroupIdentifierThread* FindWindowGroupIdentifierThread;
1.1048 + const TWsClCmdGetWindowGroupNameFromIdentifier* GetWindowGroupNameFromIdentifier;
1.1049 + const TWsClCmdOffEventsToShell* OffEventsToShell;
1.1050 + const TWsClCmdSetModifierState* SetModifierState;
1.1051 + const TWsClCmdSetPointerCursorArea* SetPointerCursorArea;
1.1052 + const TWsClCmdSetSystemFaded* SetSystemFaded;
1.1053 + const TWsClCmdCreateGraphic* CreateGraphic;
1.1054 + const TWsClCmdGdSendMessage* GraphicSendMessage;
1.1055 + const TWsClCmdGdGetId* GetGraphicId;
1.1056 + const TWsClCmdDebugInfo* DebugInfo;
1.1057 + const TWsClCmdSurfaceRegister* SurfaceRegister;
1.1058 + const TWsClCmdNumWindowGroups* NumWinGroups;
1.1059 + const TWsClCmdCreateScreenDevice* CreateScreenDevice;
1.1060 + const TWsClCmdZThresholdPair* ZThresholdPair;
1.1061 + const TWsClCmdCreateDrawableSource* CreateDrawableSource;
1.1062 + const TWsClCmdSendEffectCommand* SendEffectCommand;
1.1063 + const TWsClCmdRegisterEffect* RegisterEffect;
1.1064 + const TWsClCmdUnRegisterEffect* UnRegisterEffect;
1.1065 + const TWsClCmdOverrideEffect* OverrideEffect;
1.1066 + const TRenderOrientation* Orientation;
1.1067 + };
1.1068 +
1.1069 +// Window command structures
1.1070 +
1.1071 +struct TWsWinCmdSetExtent
1.1072 + {
1.1073 + inline TWsWinCmdSetExtent(const TPoint &aPos,const TSize &aSize);
1.1074 + TPoint pos;
1.1075 + TSize size;
1.1076 + };
1.1077 +struct TWsWinCmdOrdinalPos
1.1078 + {
1.1079 + TInt pos;
1.1080 + TInt ordinalPriority;
1.1081 + };
1.1082 +struct TWsWinCmdScroll
1.1083 + {
1.1084 + inline TWsWinCmdScroll(const TRect &aClip,const TPoint &aOffset,const TRect &aRect);
1.1085 + TRect clip;
1.1086 + TPoint offset;
1.1087 + TRect rect;
1.1088 + };
1.1089 +struct TWsWinCmdCaptureKey
1.1090 + {
1.1091 + TUint modifiers;
1.1092 + TUint modifierMask;
1.1093 + TUint key;
1.1094 + TInt priority;
1.1095 + };
1.1096 +struct TWsWinCmdCaptureLongKey
1.1097 + {
1.1098 + inline TWsWinCmdCaptureLongKey();
1.1099 + inline TWsWinCmdCaptureLongKey(TUint aModifiers,TUint aModifierMask,TUint aInputKey,TUint aOutputKey
1.1100 + ,TTimeIntervalMicroSeconds32 aDelay,TInt aPriority,TUint aFlags);
1.1101 + TUint modifiers;
1.1102 + TUint modifierMask;
1.1103 + TUint inputKey;
1.1104 + TUint outputKey;
1.1105 + TTimeIntervalMicroSeconds32 delay;
1.1106 + TInt priority;
1.1107 + TUint flags;
1.1108 + };
1.1109 +struct TWsWinCmdPriorityKey
1.1110 + {
1.1111 + TUint modifiers;
1.1112 + TUint modifierMask;
1.1113 + TUint keycode;
1.1114 + };
1.1115 +struct TWsWinCmdSetTextCursor
1.1116 + {
1.1117 + inline TWsWinCmdSetTextCursor(TUint32 aWindow, const TPoint &aPos, const TTextCursor &aCursor, const TRect &aRect);
1.1118 + inline TWsWinCmdSetTextCursor(TUint32 aWindow, const TPoint &aPos, const TTextCursor &aCursor);
1.1119 + TUint32 window;
1.1120 + TPoint pos;
1.1121 + TTextCursor cursor;
1.1122 + TRect rect;
1.1123 + };
1.1124 +struct TWsWinCmdPointerFilter
1.1125 + {
1.1126 + TUint32 mask;
1.1127 + TUint32 flags;
1.1128 + };
1.1129 +struct TWsWinCmdSetCornerType
1.1130 + {
1.1131 + TCornerType type;
1.1132 + TInt flags;
1.1133 + };
1.1134 +struct TWsWinCmdSetShape
1.1135 + {
1.1136 + TPtrC8 *ptr;
1.1137 + TInt count;
1.1138 + };
1.1139 +struct TWsWinCmdUpdateScreen
1.1140 + {
1.1141 + TPtrC8 *ptr;
1.1142 + TInt count;
1.1143 + };
1.1144 +struct TWsWinCmdGrabControl
1.1145 + {
1.1146 + enum TWsWinCmdGrabControlFlags
1.1147 + {
1.1148 + ENone=0,
1.1149 + ESendUpEvent=0x2,
1.1150 + ESendReply=0x4
1.1151 + };
1.1152 + inline TWsWinCmdGrabControl(const TUint aGrabControlFlags);
1.1153 + inline TWsWinCmdGrabControl(const TUint8 aPointerNumber, const TUint aGrabControlFlags);
1.1154 + inline TBool CheckFlags(TUint aFlags) const;
1.1155 + inline TBool HasPointerNumber() const;
1.1156 +
1.1157 + // integer to ensure passed in unsigned TUint8 can't get confused with
1.1158 + // signed negative values that are used internally.
1.1159 + // The signed int member will be "promoted" to unsigned for the assignement in the constructor.
1.1160 + TInt pointerNumber;
1.1161 + TUint flags;
1.1162 + };
1.1163 +
1.1164 +struct TWsWinCmdCancelPointerRepeatEventRequest
1.1165 + {
1.1166 + enum TCancelRepeatFlags
1.1167 + {
1.1168 + ECancelRepeatFlagsNone=0,
1.1169 + ECancelRepeatFlagsSendReply=0x2
1.1170 + };
1.1171 +
1.1172 + inline TWsWinCmdCancelPointerRepeatEventRequest();
1.1173 + inline TWsWinCmdCancelPointerRepeatEventRequest(const TUint8 aPointerNumber);
1.1174 + inline TWsWinCmdCancelPointerRepeatEventRequest(const TUint8 aPointerNumber, const TUint aFlags);
1.1175 + inline TBool HasPointerNumber() const;
1.1176 + TInt pointerNumber;
1.1177 + TUint flags;
1.1178 + };
1.1179 +
1.1180 +struct TWsWinCmdRequestPointerRepeatEvent
1.1181 + {
1.1182 + enum TRepeatFlags
1.1183 + {
1.1184 + ERepeatFlagsNone=0,
1.1185 + ERepeatFlagsSendReply=0x2
1.1186 + };
1.1187 +
1.1188 + inline TWsWinCmdRequestPointerRepeatEvent(const TTimeIntervalMicroSeconds32 &aTime,const TRect &aRect);
1.1189 + inline TWsWinCmdRequestPointerRepeatEvent(const TTimeIntervalMicroSeconds32 &aTime,const TRect &aRect,const TUint8 aPointerNumber, const TUint aRepeatFlags);
1.1190 + inline TBool HasPointerNumber() const;
1.1191 + TTimeIntervalMicroSeconds32 time;
1.1192 + TRect rect;
1.1193 + TInt pointerNumber;
1.1194 + TUint repeatFlags;
1.1195 + };
1.1196 +struct TWsWinCmdAllocPointerMoveBuffer
1.1197 + {
1.1198 + TInt maxNumPoints;
1.1199 + TInt flags;
1.1200 + };
1.1201 +struct TWsWinCmdSetName
1.1202 + {
1.1203 + TInt length;
1.1204 + const TDesC *ptr;
1.1205 + };
1.1206 +struct TWsWinCmdAddKeyRect
1.1207 + {
1.1208 + inline TWsWinCmdAddKeyRect(const TRect &aRect,TInt aScanCodea, TBool aActivatedByPointerSwitchOn);
1.1209 + TRect rect;
1.1210 + TInt scanCode;
1.1211 + TBool activatedByPointerSwitchOn;
1.1212 + };
1.1213 +struct TWsWinOpSetBackgroundSurfaceConfig;
1.1214 +#if defined(SYMBIAN_GRAPHICS_GCE)
1.1215 +struct TWsWinOpSetBackgroundSurfaceConfig
1.1216 + {
1.1217 + inline TWsWinOpSetBackgroundSurfaceConfig(const TSurfaceConfiguration& aConfiguration, TBool aTriggerRedraw);
1.1218 + TSurfaceConfiguration surfaceConfig;
1.1219 + TBool triggerRedraw;
1.1220 + };
1.1221 +#endif
1.1222 +struct TWsWinCmdEnableModifierChangedEvents
1.1223 + {
1.1224 + inline TWsWinCmdEnableModifierChangedEvents(TUint aModifierMask, TEventControl aCircumstances);
1.1225 + TInt modifierMask;
1.1226 + TEventControl circumstances;
1.1227 + };
1.1228 +struct TWsWinCmdSetFaded
1.1229 + {
1.1230 + enum {EFaded=0x01,EIncludeChildren=0x02,EUseDefaultMap=0x04};
1.1231 + inline TWsWinCmdSetFaded(TBool aFaded, TBool aIncludeChildren
1.1232 + ,TBool aUseDefaults=ETrue,TUint8 aBlackMap=0,TUint8 aWhiteMap=0);
1.1233 + inline TBool Faded() const;
1.1234 + inline TBool IncludeChildren() const;
1.1235 + inline TBool UseDefaultMap() const;
1.1236 + inline void GetFadingParams(TUint8& aBlackMap,TUint8& aWhiteMap) const;
1.1237 + TUint params;
1.1238 + };
1.1239 +
1.1240 +union TWsWinCmdUnion
1.1241 + {
1.1242 + const TAny *any;
1.1243 + const TAny **pAny;
1.1244 + const TRect *rect;
1.1245 + const TPoint *pos;
1.1246 + const TSize *size;
1.1247 + const TInt *Int;
1.1248 + const TUint *UInt;
1.1249 + const TBool *Bool;
1.1250 + const TEventControl *EventControl;
1.1251 + const TRgb *rgb;
1.1252 + const TDisplayMode *DisplayMode;
1.1253 + const TPasswordMode *PasswordMode;
1.1254 + const TRawEvent *RawEvent;
1.1255 + const TSurfaceConfiguration *SurfaceConfiguration;
1.1256 + const TWsWinCmdSetExtent *SetEx;
1.1257 + const TWsWinCmdOrdinalPos *OrdinalPos;
1.1258 + const TWsWinCmdScroll *ScrollRect;
1.1259 + const TWsWinCmdCaptureKey *CaptureKey;
1.1260 + const TWsWinCmdCaptureLongKey *CaptureLongKey;
1.1261 + const TWsWinCmdPriorityKey *PriorityKey;
1.1262 + const TWsWinCmdSetTextCursor *SetTextCursor;
1.1263 + const TWsWinCmdPointerFilter *PointerFilter;
1.1264 + const TWsWinCmdSetCornerType *SetCornerType;
1.1265 + const TWsWinCmdSetShape *SetShape;
1.1266 + const TWsWinCmdUpdateScreen *UpdateScreen;
1.1267 + const TWsWinCmdRequestPointerRepeatEvent *RequestPointerRepeatEvent;
1.1268 + const TWsWinCmdAllocPointerMoveBuffer *AllocPointerMoveBuffer;
1.1269 + const TWsWinCmdSetName *SetName;
1.1270 + const TWsWinCmdAddKeyRect *AddKeyRect;
1.1271 + const TWsWinOpSetBackgroundSurfaceConfig *SurfaceConfigurationAndTrigger;
1.1272 + const TWsWinCmdEnableModifierChangedEvents *EnableModifierChangedEvents;
1.1273 + const TWsWinCmdSetFaded *SetFaded;
1.1274 + const TSurfaceId *Surface;
1.1275 + const TWsWinCmdCancelPointerRepeatEventRequest *CancelPointerRepeatEventRequest;
1.1276 + const TWsWinCmdGrabControl *GrabControl;
1.1277 + const TWsClCmdSendEffectCommand *SendEffectCommand;
1.1278 + const TWsClCmdOverrideEffect* OverrideEffect;
1.1279 + };
1.1280 +
1.1281 +// GC command structures
1.1282 +
1.1283 +struct TWsGcLargeStruct
1.1284 + {
1.1285 + TInt int1;
1.1286 + TInt int2;
1.1287 + TInt int3;
1.1288 + TInt int4;
1.1289 + TInt int5;
1.1290 + TInt int6;
1.1291 + TInt int7;
1.1292 + TInt int8;
1.1293 + TInt int9;
1.1294 + TBool tbool;
1.1295 + CGraphicsContext::TTextAlign align;
1.1296 + TAny* ptr;
1.1297 + };
1.1298 +struct TWsGcCmdSetClippingRegion
1.1299 + {
1.1300 + TPtrC8 *ptr;
1.1301 + TInt count;
1.1302 + };
1.1303 +struct TWsGcCmdSetJustification
1.1304 + {
1.1305 + TInt excessWidth;
1.1306 + TInt numGaps;
1.1307 + };
1.1308 +struct TWsGcCmdDrawText
1.1309 + {
1.1310 + inline TWsGcCmdDrawText(const TPoint &aPos, TInt aLength);
1.1311 + TPoint pos;
1.1312 + TInt length;
1.1313 + };
1.1314 +struct TWsGcCmdDrawTextPtr
1.1315 + {
1.1316 + TPoint pos;
1.1317 + TDesC *text;
1.1318 + };
1.1319 +
1.1320 +
1.1321 +struct TWsGcCmdDrawTextVertical
1.1322 + {
1.1323 + inline TWsGcCmdDrawTextVertical(const TPoint &aPos, TInt aLength, TBool aUp);
1.1324 + TPoint pos;
1.1325 + TInt length;
1.1326 + TBool up;
1.1327 + };
1.1328 +
1.1329 +struct TWsGcCmdDrawTextVerticalPtr
1.1330 + {
1.1331 + TPoint pos;
1.1332 + TBool up;
1.1333 + TDesC *text;
1.1334 + inline TWsGcCmdDrawTextVerticalPtr(const TDesC *aDesc, const TPoint& aPos, const TBool aUp);
1.1335 + };
1.1336 +
1.1337 +struct TWsGcCmdDrawTextLocal
1.1338 + {
1.1339 + inline TWsGcCmdDrawTextLocal(const TPoint &aPos,const TDesC *aDesc);
1.1340 + TPoint pos;
1.1341 + const TDesC *desc;
1.1342 + };
1.1343 +
1.1344 +struct TWsGcCmdBoxTextOptimised1
1.1345 + {
1.1346 + inline TWsGcCmdBoxTextOptimised1(const TRect &aRect,TInt aBaselineOffset,TInt alength);
1.1347 + TRect box;
1.1348 + TInt baselineOffset;
1.1349 + TInt length;
1.1350 + };
1.1351 +struct TWsGcCmdBoxTextOptimised2
1.1352 + {
1.1353 + inline TWsGcCmdBoxTextOptimised2(const TRect &aRect,TInt aBaselineOffset,CGraphicsContext::TTextAlign aHoriz,TInt aLeftMrg,TInt aLength);
1.1354 + TRect box;
1.1355 + TInt baselineOffset;
1.1356 + CGraphicsContext::TTextAlign horiz;
1.1357 + TInt leftMrg;
1.1358 + TInt length;
1.1359 + };
1.1360 +
1.1361 +struct TWsGcCmdBoxText
1.1362 + {
1.1363 + inline TWsGcCmdBoxText(const TRect &aRect,TInt aBaselineOffset,CGraphicsContext::TTextAlign aHoriz,TInt aLeftMrg,TInt aLength,TInt aWidth);
1.1364 + TRect box;
1.1365 + TInt baselineOffset;
1.1366 + CGraphicsContext::TTextAlign horiz;
1.1367 + TInt leftMrg;
1.1368 + TInt length;
1.1369 + TInt width;
1.1370 + };
1.1371 +
1.1372 +struct TWsGcCmdBoxTextPtr
1.1373 + {
1.1374 + TRect box;
1.1375 + TInt baselineOffset;
1.1376 + CGraphicsContext::TTextAlign horiz;
1.1377 + TInt leftMrg;
1.1378 + TInt width;
1.1379 + TDesC *text;
1.1380 + };
1.1381 +
1.1382 +struct TWsGcCmdBoxTextVertical
1.1383 + {
1.1384 + inline TWsGcCmdBoxTextVertical(const TRect& aBox);
1.1385 + TRect box;
1.1386 + TInt baselineOffset;
1.1387 + TBool up;
1.1388 + CGraphicsContext::TTextAlign vert;
1.1389 + TInt margin;
1.1390 + TInt length;
1.1391 + TInt width;
1.1392 + };
1.1393 +
1.1394 +struct TWsGcCmdBoxTextVerticalPtr
1.1395 + {
1.1396 + TRect box;
1.1397 + TInt baselineOffset;
1.1398 + TBool up;
1.1399 + CGraphicsContext::TTextAlign vert;
1.1400 + TInt margin;
1.1401 + TInt width;
1.1402 + TDesC *text;
1.1403 + };
1.1404 +
1.1405 +struct TWsGcCmdBoxTextLocal
1.1406 + {
1.1407 + inline TWsGcCmdBoxTextLocal(const TRect &aBox);
1.1408 + TRect box;
1.1409 + TInt baselineOffset;
1.1410 + CGraphicsContext::TTextAlign horiz;
1.1411 + TInt leftMrg;
1.1412 + const TDesC *desc;
1.1413 + };
1.1414 +
1.1415 +struct TWsGcCmdDrawLine
1.1416 + {
1.1417 + inline TWsGcCmdDrawLine(const TPoint &aPnt1,const TPoint &aPnt2);
1.1418 + TPoint pnt1;
1.1419 + TPoint pnt2;
1.1420 + };
1.1421 +struct TWsGcCmdDrawPolyLine
1.1422 + {
1.1423 + TInt numPoints;
1.1424 + TInt more;
1.1425 + TPoint last;
1.1426 + };
1.1427 +struct TWsGcCmdDrawArcOrPie
1.1428 + {
1.1429 + inline TWsGcCmdDrawArcOrPie(const TRect &aRect,const TPoint &aStart,const TPoint &aEnd);
1.1430 + TRect rect;
1.1431 + TPoint start;
1.1432 + TPoint end;
1.1433 + };
1.1434 +struct TWsGcCmdDrawRoundRect
1.1435 + {
1.1436 + inline TWsGcCmdDrawRoundRect(const TRect &aRect,const TSize &aEllipse);
1.1437 + TRect rect;
1.1438 + TSize ellipse;
1.1439 + };
1.1440 +struct TWsGcCmdDrawPolygon
1.1441 + {
1.1442 + TInt numPoints;
1.1443 + CGraphicsContext::TFillRule fillRule;
1.1444 + };
1.1445 +struct TWsGcCmdStartSegmentedDrawPolygon
1.1446 + {
1.1447 + TInt totalNumPoints;
1.1448 + };
1.1449 +struct TWsGcCmdSegmentedDrawPolygonData
1.1450 + {
1.1451 + const TDesC8 *points;
1.1452 + TInt index;
1.1453 + TInt numPoints;
1.1454 + };
1.1455 +struct TWsGcCmdDrawSegmentedPolygon
1.1456 + {
1.1457 + CGraphicsContext::TFillRule fillRule;
1.1458 + };
1.1459 +struct TWsGcCmdDrawPolygonLocal
1.1460 + {
1.1461 + const CArrayFix<TPoint> *pointList;
1.1462 + CGraphicsContext::TFillRule fillRule;
1.1463 + };
1.1464 +struct TWsGcCmdDrawPolygonLocalBufLen
1.1465 + {
1.1466 + inline TWsGcCmdDrawPolygonLocalBufLen(const TPoint *aPointList,TInt aNumPoints, CGraphicsContext::TFillRule aFillRule);
1.1467 + const TPoint *points;
1.1468 + TInt length;
1.1469 + CGraphicsContext::TFillRule fillRule;
1.1470 + };
1.1471 +struct TWsGcCmdDrawPolyLineLocalBufLen
1.1472 + {
1.1473 + inline TWsGcCmdDrawPolyLineLocalBufLen(const TPoint *aPointList,TInt aNumPoints);
1.1474 + const TPoint *points;
1.1475 + TInt length;
1.1476 + };
1.1477 +struct TWsGcCmdDrawBitmap
1.1478 + {
1.1479 + inline TWsGcCmdDrawBitmap(const TPoint &aPoint,TInt aHandle);
1.1480 + TInt handle;
1.1481 + TPoint pos;
1.1482 + };
1.1483 +struct TWsGcCmdDrawBitmap2
1.1484 + {
1.1485 + inline TWsGcCmdDrawBitmap2(const TRect &aRect,TInt aHandle);
1.1486 + TInt handle;
1.1487 + TRect rect;
1.1488 + };
1.1489 +struct TWsGcCmdDrawBitmap3
1.1490 + {
1.1491 + inline TWsGcCmdDrawBitmap3(const TRect &aRect,TInt aHandle,const TRect &aSrcRect);
1.1492 + TInt handle;
1.1493 + TRect rect;
1.1494 + TRect srcRect;
1.1495 + };
1.1496 +struct TWsGcCmdDrawBitmapMasked
1.1497 + {
1.1498 + inline TWsGcCmdDrawBitmapMasked(const TRect &aDestRect,TInt aHandle,const TRect& aSrcRect,TInt aMaskHandle,TBool aInvertMask);
1.1499 + TInt iHandle;
1.1500 + TInt iMaskHandle;
1.1501 + TRect iRect;
1.1502 + TRect iSrcRect;
1.1503 + TBool iInvertMask;
1.1504 + };
1.1505 +struct TWsGcCmdDrawBitmapLocal
1.1506 + {
1.1507 + inline TWsGcCmdDrawBitmapLocal(const TPoint &aPos,const CFbsBitmap *aBitmap);
1.1508 + const CFbsBitmap *bitmap;
1.1509 + TPoint pos;
1.1510 + };
1.1511 +struct TWsGcCmdDrawBitmap2Local
1.1512 + {
1.1513 + inline TWsGcCmdDrawBitmap2Local(const TRect &aRect,const CFbsBitmap *aBitmap);
1.1514 + const CFbsBitmap *bitmap;
1.1515 + TRect rect;
1.1516 + };
1.1517 +struct TWsGcCmdDrawBitmap3Local
1.1518 + {
1.1519 + inline TWsGcCmdDrawBitmap3Local(const TRect &aRect,const CFbsBitmap *aBitmap, const TRect &aSrcRect);
1.1520 + const CFbsBitmap *bitmap;
1.1521 + TRect rect;
1.1522 + TRect srcRect;
1.1523 + };
1.1524 +struct TWsGcCmdDrawBitmapMaskedLocal
1.1525 + {
1.1526 + inline TWsGcCmdDrawBitmapMaskedLocal(const TRect &aDestRect,const CFbsBitmap* aBitmap,const TRect& aSrcRect,const CFbsBitmap* aMaskBitmap,TBool aInvertMask);
1.1527 + const CFbsBitmap* iBitmap;
1.1528 + const CFbsBitmap* iMaskBitmap;
1.1529 + TRect iRect;
1.1530 + TRect iSrcRect;
1.1531 + TBool iInvertMask;
1.1532 + };
1.1533 +struct TWsGcCmdCopyRect
1.1534 + {
1.1535 + inline TWsGcCmdCopyRect(const TPoint &anOffset,const TRect &aRect);
1.1536 + TRect rect; // Must be first
1.1537 + TPoint pos;
1.1538 + };
1.1539 +struct TWsGcCmdGdiBlt2
1.1540 + {
1.1541 + inline TWsGcCmdGdiBlt2(const TPoint &aPoint, TInt aHandle);
1.1542 + TInt handle;
1.1543 + TPoint pos;
1.1544 + };
1.1545 +struct TWsGcCmdGdiBlt3
1.1546 + {
1.1547 + inline TWsGcCmdGdiBlt3(const TPoint &aPoint, TInt aHandle, const TRect &aSrcRect);
1.1548 + TInt handle;
1.1549 + TPoint pos;
1.1550 + TRect rect;
1.1551 + };
1.1552 +struct TWsGcCmdGdiBlt2Local
1.1553 + {
1.1554 + inline TWsGcCmdGdiBlt2Local(const TPoint &aPoint,const CFbsBitmap *aBitmap);
1.1555 + const CFbsBitmap *bitmap;
1.1556 + TPoint pos;
1.1557 + };
1.1558 +struct TWsGcCmdGdiBlt3Local
1.1559 + {
1.1560 + inline TWsGcCmdGdiBlt3Local(const TPoint &aDestination,const CFbsBitmap *aBitmap,const TRect &aSource);
1.1561 + const CFbsBitmap *bitmap;
1.1562 + TPoint pos;
1.1563 + TRect rect;
1.1564 + };
1.1565 +struct TWsGcCmdGdiBltMaskedLocal
1.1566 + {
1.1567 + inline TWsGcCmdGdiBltMaskedLocal(const TPoint& aPoint,const CFbsBitmap* aBitmap,const TRect& aSourceRect,const CFbsBitmap* aMaskBitmap,TBool aInvertMask);
1.1568 + const CFbsBitmap *bitmap;
1.1569 + const CFbsBitmap *maskBitmap;
1.1570 + TBool invertMask;
1.1571 + TPoint pos;
1.1572 + TRect rect;
1.1573 + };
1.1574 +struct TWsGcCmdUsePatternBrush
1.1575 + {
1.1576 + TRgb *pdata;
1.1577 + TInt width;
1.1578 + TInt height;
1.1579 + TBool color;
1.1580 + };
1.1581 +struct TWsGcCmdBltMasked
1.1582 + {
1.1583 + inline TWsGcCmdBltMasked();
1.1584 + inline TWsGcCmdBltMasked(const TPoint& aPoint,TInt aBitmap,const TRect& aSourceRect,TInt aMaskBitmap,TBool aInvertMask);
1.1585 + TPoint destination;
1.1586 + TInt handle;
1.1587 + TRect source;
1.1588 + TInt maskHandle;
1.1589 + TBool invertMask;
1.1590 + };
1.1591 +struct TWsGcCmdAlphaBlendBitmaps
1.1592 + {
1.1593 + inline TWsGcCmdAlphaBlendBitmaps();
1.1594 + inline TWsGcCmdAlphaBlendBitmaps(const TPoint& aPoint, TInt aBitmap,const TRect& aSourceRect,TInt aAlpha,const TPoint& aAlphaPoint);
1.1595 + TPoint point;
1.1596 + TInt bitmapHandle;
1.1597 + TRect source;
1.1598 + TInt alphaHandle;
1.1599 + TPoint alphaPoint;
1.1600 + };
1.1601 +
1.1602 +struct TWsGcCmdAlphaBlendBitmapsLocal
1.1603 + {
1.1604 + inline TWsGcCmdAlphaBlendBitmapsLocal(const TPoint& aPoint, const CFbsBitmap* aBitmap, const TRect& aSourceRect, const CFbsBitmap* aAlpha, const TPoint& aAlphaPoint);
1.1605 + TPoint point;
1.1606 + const CFbsBitmap *iBitmap;
1.1607 + TRect source;
1.1608 + const CFbsBitmap *iAlpha;
1.1609 + TPoint alphaPoint;
1.1610 + };
1.1611 +
1.1612 +struct TWsGcCmdMapColors
1.1613 + {
1.1614 + inline TWsGcCmdMapColors(const TRect &aRect, TInt aNumPairs, TBool aMapForwards);
1.1615 + TRect rect;
1.1616 + TInt numPairs;
1.1617 + TBool mapForwards;
1.1618 + };
1.1619 +
1.1620 +struct TWsGcCmdMapColorsLocal
1.1621 + {
1.1622 + inline TWsGcCmdMapColorsLocal(const TRect &aRect, const TRgb* aColors, TInt aNumPairs, TBool aMapForwards);
1.1623 + TRect rect;
1.1624 + const TRgb *colors;
1.1625 + TInt numPairs;
1.1626 + TBool mapForwards;
1.1627 + };
1.1628 +
1.1629 +struct TWsGcCmdDrawWsGraphic
1.1630 + {
1.1631 + inline TWsGcCmdDrawWsGraphic(const TWsGraphicId& aId,const TRect& aRect);
1.1632 + TUint iFlags; // TWsGraphicBitFlags
1.1633 + TInt iId;
1.1634 + TRect iRect;
1.1635 + TInt iDataLen;
1.1636 + };
1.1637 +struct TWsGcCmdDrawTextInContext
1.1638 + {
1.1639 + inline TWsGcCmdDrawTextInContext(const TPoint &aPos, TInt aLength, TInt aStart, TInt aEnd);
1.1640 + TPoint pos;
1.1641 + TInt length;
1.1642 + TInt start;
1.1643 + TInt end;
1.1644 + };
1.1645 +struct TWsGcCmdDrawTextInContextPtr
1.1646 + {
1.1647 + TPoint pos;
1.1648 + TDesC *text;
1.1649 + TInt start;
1.1650 + TInt end;
1.1651 + };
1.1652 +struct TWsGcCmdDrawTextInContextVertical
1.1653 + {
1.1654 + inline TWsGcCmdDrawTextInContextVertical(const TPoint &aPos, TInt aLength, TBool aUp, TInt aStart, TInt aEnd);
1.1655 + TPoint pos;
1.1656 + TInt length;
1.1657 + TBool up;
1.1658 + TInt start;
1.1659 + TInt end;
1.1660 + };
1.1661 +struct TWsGcCmdDrawTextInContextVerticalPtr
1.1662 + {
1.1663 + TPoint pos;
1.1664 + TBool up;
1.1665 + TDesC *text;
1.1666 + TInt start;
1.1667 + TInt end;
1.1668 + inline TWsGcCmdDrawTextInContextVerticalPtr(const TDesC *aDesc, const TPoint& aPos, const TBool aUp, const TInt aStart, const TInt aEnd);
1.1669 + };
1.1670 +struct TWsGcCmdDrawTextInContextLocal
1.1671 + {
1.1672 + inline TWsGcCmdDrawTextInContextLocal(const TPoint &aPos,const TDesC *aDesc,const TInt aStart,const TInt aEnd);
1.1673 + TPoint pos;
1.1674 + const TDesC *desc;
1.1675 + TInt start;
1.1676 + TInt end;
1.1677 + };
1.1678 +struct TWsGcCmdBoxTextInContextOptimised1
1.1679 + {
1.1680 + inline TWsGcCmdBoxTextInContextOptimised1(const TRect &aRect,TInt aBaselineOffset,TInt alength, TInt aStart, TInt aEnd);
1.1681 + TRect box;
1.1682 + TInt baselineOffset;
1.1683 + TInt length;
1.1684 + TInt start;
1.1685 + TInt end;
1.1686 + };
1.1687 +struct TWsGcCmdBoxTextInContextOptimised2
1.1688 + {
1.1689 + inline TWsGcCmdBoxTextInContextOptimised2(const TRect &aRect,TInt aBaselineOffset,CGraphicsContext::TTextAlign aHoriz,TInt aLeftMrg,TInt aLength, TInt aStart, TInt aEnd);
1.1690 + TRect box;
1.1691 + TInt baselineOffset;
1.1692 + CGraphicsContext::TTextAlign horiz;
1.1693 + TInt leftMrg;
1.1694 + TInt length;
1.1695 + TInt start;
1.1696 + TInt end;
1.1697 + };
1.1698 +struct TWsGcCmdBoxTextInContext
1.1699 + {
1.1700 + inline TWsGcCmdBoxTextInContext(const TRect &aRect,TInt aBaselineOffset,CGraphicsContext::TTextAlign aHoriz,TInt aLeftMrg,TInt aLength,TInt aWidth, TInt aStart, TInt aEnd);
1.1701 + TRect box;
1.1702 + TInt baselineOffset;
1.1703 + CGraphicsContext::TTextAlign horiz;
1.1704 + TInt leftMrg;
1.1705 + TInt length;
1.1706 + TInt width;
1.1707 + TInt start;
1.1708 + TInt end;
1.1709 + };
1.1710 +struct TWsGcCmdBoxTextInContextPtr
1.1711 + {
1.1712 + TRect box;
1.1713 + TInt baselineOffset;
1.1714 + CGraphicsContext::TTextAlign horiz;
1.1715 + TInt leftMrg;
1.1716 + TInt width;
1.1717 + TDesC *text;
1.1718 + TInt start;
1.1719 + TInt end;
1.1720 + };
1.1721 +struct TWsGcCmdBoxTextInContextVertical
1.1722 + {
1.1723 + inline TWsGcCmdBoxTextInContextVertical(const TRect& aBox);
1.1724 + TRect box;
1.1725 + TInt baselineOffset;
1.1726 + TBool up;
1.1727 + CGraphicsContext::TTextAlign vert;
1.1728 + TInt margin;
1.1729 + TInt length;
1.1730 + TInt width;
1.1731 + TInt start;
1.1732 + TInt end;
1.1733 + };
1.1734 +struct TWsGcCmdBoxTextInContextVerticalPtr
1.1735 + {
1.1736 + TRect box;
1.1737 + TInt baselineOffset;
1.1738 + TBool up;
1.1739 + CGraphicsContext::TTextAlign vert;
1.1740 + TInt margin;
1.1741 + TInt width;
1.1742 + TInt start;
1.1743 + TInt end;
1.1744 + TDesC *text;
1.1745 + };
1.1746 +struct TWsGcCmdBoxTextInContextLocal
1.1747 + {
1.1748 + inline TWsGcCmdBoxTextInContextLocal(const TRect &aBox,TInt aStart,TInt aEnd);
1.1749 + TRect box;
1.1750 + TInt baselineOffset;
1.1751 + CGraphicsContext::TTextAlign horiz;
1.1752 + TInt leftMrg;
1.1753 + TInt start;
1.1754 + TInt end;
1.1755 + const TDesC *desc;
1.1756 + };
1.1757 +struct TWsGcCmdDrawResourceToPos
1.1758 + {
1.1759 + inline TWsGcCmdDrawResourceToPos(TInt aWsHandle, const TPoint &aPos, CWindowGc::TGraphicsRotation aRotation);
1.1760 + TInt wsHandle;
1.1761 + TPoint pos;
1.1762 + CWindowGc::TGraphicsRotation rotation;
1.1763 + };
1.1764 +struct TWsGcCmdDrawResourceToRect
1.1765 + {
1.1766 + inline TWsGcCmdDrawResourceToRect(TInt aWsHandle, const TRect &aRect, CWindowGc::TGraphicsRotation aRotation);
1.1767 + TInt wsHandle;
1.1768 + TRect rect;
1.1769 + CWindowGc::TGraphicsRotation rotation;
1.1770 + };
1.1771 +struct TWsGcCmdDrawResourceFromRectToRect
1.1772 + {
1.1773 + inline TWsGcCmdDrawResourceFromRectToRect(TInt aWsHandle, const TRect &aRectDest, const TRect &aRectSrc, CWindowGc::TGraphicsRotation aRotation);
1.1774 + TInt wsHandle;
1.1775 + TRect rectDest;
1.1776 + TRect rectSrc;
1.1777 + CWindowGc::TGraphicsRotation rotation;
1.1778 + };
1.1779 +struct TWsGcCmdDrawResourceWithData
1.1780 + {
1.1781 + inline TWsGcCmdDrawResourceWithData(TInt aWsHandle, const TRect &aRect, const TDesC8* aDesc);
1.1782 + TInt wsHandle;
1.1783 + TRect rect;
1.1784 + const TDesC8* desc;
1.1785 + };
1.1786 +
1.1787 +union TWsGcCmdUnion
1.1788 + {
1.1789 + const TAny *any;
1.1790 + const TAny **pAny;
1.1791 + const TRect *Rect;
1.1792 + const TUint *UInt;
1.1793 + const TInt *Int;
1.1794 + const TInt *handle;
1.1795 + const TBool *Bool;
1.1796 + const TRgb *rgb;
1.1797 + const TPoint *Point;
1.1798 + const TSize *Size;
1.1799 + const TFontUnderline *SetUnderlineStyle;
1.1800 + const TFontStrikethrough *SetStrikethroughStyle;
1.1801 + const TWsGcCmdDrawText *DrawText;
1.1802 + const TWsGcCmdDrawTextInContext *DrawTextInContext;
1.1803 + const TWsGcCmdDrawTextVertical *DrawTextVertical;
1.1804 + const TWsGcCmdDrawTextInContextVertical *DrawTextInContextVertical;
1.1805 + const TWsGcCmdDrawLine *DrawLine;
1.1806 + const TWsGcCmdDrawPolyLine *PolyLine;
1.1807 + const TWsGcCmdStartSegmentedDrawPolygon *StartSegmentedDrawPolygon;
1.1808 + const TWsGcCmdSegmentedDrawPolygonData *SegmentedDrawPolygonData;
1.1809 + const TWsGcCmdDrawSegmentedPolygon *DrawSegmentedPolygon;
1.1810 + const TWsGcCmdDrawPolygonLocal *DrawPolygonLocal;
1.1811 + const TWsGcCmdDrawPolygonLocalBufLen *DrawPolygonLocalBufLen;
1.1812 + const TWsGcCmdDrawPolyLineLocalBufLen *DrawPolyLineLocalBufLen;
1.1813 + const TWsGcCmdDrawArcOrPie *ArcOrPie;
1.1814 + const TWsGcCmdDrawRoundRect *RoundRect;
1.1815 + const TWsGcCmdDrawPolygon *Polygon;
1.1816 + const TWsGcCmdDrawBitmap *Bitmap;
1.1817 + const TWsGcCmdDrawBitmap2 *Bitmap2;
1.1818 + const TWsGcCmdDrawBitmap3 *Bitmap3;
1.1819 + const TWsGcCmdDrawBitmapMasked* iBitmapMasked;
1.1820 + const TWsGcCmdCopyRect *CopyRect;
1.1821 + const TWsGcCmdGdiBlt2 *GdiBlt2;
1.1822 + const TWsGcCmdGdiBlt3 *GdiBlt3;
1.1823 + const TWsGcCmdUsePatternBrush *UsePatternBrush;
1.1824 + const TWsGcCmdBltMasked *GdiBltMasked;
1.1825 + const TWsGcCmdSetClippingRegion *SetClippingRegion;
1.1826 + const TWsGcCmdBoxText *BoxText;
1.1827 + const TWsGcCmdBoxTextInContext *BoxTextInContext;
1.1828 + const TWsGcCmdBoxTextOptimised1 *BoxTextO1;
1.1829 + const TWsGcCmdBoxTextOptimised2 *BoxTextO2;
1.1830 + const TWsGcCmdBoxTextInContextOptimised1 *BoxTextInContextO1;
1.1831 + const TWsGcCmdBoxTextInContextOptimised2 *BoxTextInContextO2;
1.1832 + const TWsGcCmdDrawTextLocal *DrawTextLocal;
1.1833 + const TWsGcCmdDrawTextInContextLocal *DrawTextInContextLocal;
1.1834 + const TWsGcCmdBoxTextVertical *DrawBoxTextVertical;
1.1835 + const TWsGcCmdBoxTextInContextVertical *DrawBoxTextInContextVertical;
1.1836 + const TWsGcCmdBoxTextLocal *BoxTextLocal;
1.1837 + const TWsGcCmdBoxTextInContextLocal *BoxTextInContextLocal;
1.1838 + const TWsGcCmdGdiBlt2Local *GdiBlt2Local;
1.1839 + const TWsGcCmdGdiBlt3Local *GdiBlt3Local;
1.1840 + const TWsGcCmdGdiBltMaskedLocal *GdiBltMaskedLocal;
1.1841 + const TWsGcCmdDrawBitmapLocal *BitmapLocal;
1.1842 + const TWsGcCmdDrawBitmap2Local *Bitmap2Local;
1.1843 + const TWsGcCmdDrawBitmap3Local *Bitmap3Local;
1.1844 + const TWsGcCmdDrawBitmapMaskedLocal* iBitmapMaskedLocal;
1.1845 + const CArrayFix<TPoint> *PointList;
1.1846 + const TWsGcCmdSetJustification *SetJustification;
1.1847 + const TWsGcCmdMapColors *MapColors;
1.1848 + TWsGcCmdDrawTextPtr *DrawTextPtr;
1.1849 + TWsGcCmdDrawTextVerticalPtr *DrawTextVerticalPtr;
1.1850 + TWsGcCmdDrawTextInContextVerticalPtr *DrawTextInContextVerticalPtr;
1.1851 + TWsGcCmdBoxTextPtr *DrawBoxTextPtr;
1.1852 + TWsGcCmdBoxTextInContextPtr *DrawBoxTextInContextPtr;
1.1853 + TWsGcCmdBoxTextVerticalPtr *DrawBoxTextVerticalPtr;
1.1854 + TWsGcCmdBoxTextInContextVerticalPtr *DrawBoxTextInContextVerticalPtr;
1.1855 + TWsGcCmdDrawTextInContextPtr *DrawTextInContextPtr;
1.1856 + const TWsGcLargeStruct *LargeStruct;
1.1857 + const TWsGcCmdAlphaBlendBitmaps *AlphaBlendBitmaps;
1.1858 + const TWsGcCmdAlphaBlendBitmapsLocal *AlphaBlendBitmapsLocal;
1.1859 + const TWsGcCmdMapColorsLocal *MapColorsLocal;
1.1860 + const TWsGcCmdDrawWsGraphic* WsGraphic;
1.1861 + const TWsGcCmdDrawResourceToPos* DrawWsResourceToPos;
1.1862 + const TWsGcCmdDrawResourceToRect* DrawWsResourceToRect;
1.1863 + const TWsGcCmdDrawResourceFromRectToRect* DrawWsResourceFromRectToRect;
1.1864 + const TWsGcCmdDrawResourceWithData* DrawWsResourceWithData;
1.1865 + };
1.1866 +
1.1867 +struct TWsSdCmdSetScreenRotation
1.1868 + {
1.1869 + inline TWsSdCmdSetScreenRotation(TInt aMode, CFbsBitGc::TGraphicsOrientation aRotation);
1.1870 + TInt mode;
1.1871 + CFbsBitGc::TGraphicsOrientation rotation;
1.1872 + };
1.1873 +struct TWsSdCmdGetScanLine
1.1874 + {
1.1875 + inline TWsSdCmdGetScanLine(const TPoint &aPos, TInt aLen, TDisplayMode aDispMode);
1.1876 + TPoint pos;
1.1877 + TInt len;
1.1878 + TDisplayMode dispMode;
1.1879 + };
1.1880 +struct TWsSdCmdRectCompare
1.1881 + {
1.1882 + inline TWsSdCmdRectCompare(const TRect &aRect1,const TRect &aRect2,TUint aFlags);
1.1883 + TRect rect1;
1.1884 + TRect rect2;
1.1885 + TUint flags;
1.1886 + };
1.1887 +struct TWsSdCmdCopyScreenToBitmap
1.1888 + {
1.1889 + inline TWsSdCmdCopyScreenToBitmap(TInt aHandle);
1.1890 + TInt handle;
1.1891 + };
1.1892 +struct TWsSdCmdCopyScreenToBitmap2
1.1893 + {
1.1894 + inline TWsSdCmdCopyScreenToBitmap2(const TRect &aRect, TInt aHandle);
1.1895 + TRect rect;
1.1896 + TInt handle;
1.1897 + };
1.1898 +struct TWsSdCmdSetPalette
1.1899 + {
1.1900 + inline TWsSdCmdSetPalette(TPtr8& aPtr);
1.1901 + TPtr8* ptr;
1.1902 + TInt length;
1.1903 + };
1.1904 +struct TWsSdCmdMapCoordinates
1.1905 + {
1.1906 + inline TWsSdCmdMapCoordinates(const TRect &aSource, TCoordinateSpace aSourceSpace, TCoordinateSpace aTargetSpace);
1.1907 + TRect sourceRect;
1.1908 + TCoordinateSpace sourceSpace;
1.1909 + TCoordinateSpace targetSpace;
1.1910 + };
1.1911 +union TWsSdCmdUnion
1.1912 + {
1.1913 + const TAny *any;
1.1914 + const TAny **pAny;
1.1915 + const TUint *UInt;
1.1916 + const TInt *Int;
1.1917 + const TPoint *Point;
1.1918 + const TPixelsTwipsAndRotation *PixelsTwipsAndRotation;
1.1919 + const TPixelsAndRotation *PixelsAndRotation;
1.1920 + const TWsSdCmdSetScreenRotation *SetScreenRotation;
1.1921 + const TWsSdCmdGetScanLine *GetScanLine;
1.1922 + const TWsSdCmdRectCompare *RectCompare;
1.1923 + const TWsSdCmdCopyScreenToBitmap *CopyScreenToBitmap;
1.1924 + const TWsSdCmdCopyScreenToBitmap2 *CopyScreenToBitmap2;
1.1925 + const TWsSdCmdSetPalette *SetPalette;
1.1926 + const TSizeMode *ScreenSizeMode;
1.1927 + const TDisplayConfiguration *DisplayConfiguration;
1.1928 + const TWsSdCmdMapCoordinates *MapCoordinates;
1.1929 + };
1.1930 +
1.1931 +union TWsAnimDllCmdUnion
1.1932 + {
1.1933 + const TAny *any;
1.1934 + const TUint *UInt;
1.1935 + };
1.1936 +
1.1937 +struct TWsSpriteCmdUpdateMember
1.1938 + {
1.1939 + inline TWsSpriteCmdUpdateMember(TInt aIndex,const TSpriteMember &aData);
1.1940 + TInt index;
1.1941 + TCmdSpriteMember data;
1.1942 + };
1.1943 +union TWsSpriteCmdUnion
1.1944 + {
1.1945 + const TAny *any;
1.1946 + const TPoint *Point;
1.1947 + const TCmdSpriteMember *SpriteMember;
1.1948 + const TWsSpriteCmdUpdateMember *UpdateMember;
1.1949 + };
1.1950 +
1.1951 +struct TWsDirectCmdRequestReply
1.1952 + {
1.1953 + inline TWsDirectCmdRequestReply();
1.1954 + inline TWsDirectCmdRequestReply(TThreadId aId,TRequestStatus* aRequest);
1.1955 + TThreadId id;
1.1956 + TRequestStatus* request;
1.1957 + };
1.1958 +union TWsDirectCmdUnion
1.1959 + {
1.1960 + const TAny *any;
1.1961 + const TInt *Int;
1.1962 + };
1.1963 +
1.1964 +union TWsClickCmdUnion
1.1965 + {
1.1966 + const TAny *any;
1.1967 + const TInt *Int;
1.1968 + const TBool *Bool;
1.1969 + };
1.1970 +
1.1971 +// Client side Panics and asserts
1.1972 +
1.1973 +enum TW32Assert // used for w32 code errors
1.1974 + {
1.1975 + EW32AssertOddLengthData,
1.1976 + EW32AssertNotImplemented,
1.1977 + EW32AssertIllegalOpcode,
1.1978 + EW32AssertDirectMisuse,
1.1979 + EW32AssertBufferLogic,
1.1980 + EW32AssertUnexpectedOutOfRangePointerNumber, // Used for an out-of-range pointer number error within the old API's which doesn't take a pointer number.
1.1981 + EW32AssertWindowSizeCacheFailure,
1.1982 + };
1.1983 +
1.1984 +enum TW32Panic // used for application errors
1.1985 + {
1.1986 + EW32PanicReConnect, //An attempt was made to reconnect to the window server using RWsSession::Connect() without having closed the existing one first
1.1987 + EW32PanicWindowAlreadyClosed, //Not used
1.1988 + EW32PanicGcAlreadyClosed, //Not used
1.1989 + EW32PanicPaletteAlreadyClosed, //Not used
1.1990 + EW32PanicMapColorsTooManyPairs, //Raised by CWindowGc::MapColors() when its aNumPairs argument has a value greater than 16.
1.1991 + EW32PanicDataExceedsBufferLength, //A single string is too long to fit into the buffer.
1.1992 + EW32PanicNullPalette, //CWsScreenDevice::SetCustomPalette() was called with a NULL pointer.
1.1993 + EW32PanicSilentFail, //The caller would not know that the function was not successful
1.1994 + EW32PanicDirectMisuse, //A direct screen access function is being called out of turn
1.1995 + EW32PanicInvalidRegion, //An attempt to pass an invalid region to window server
1.1996 + EW32PanicUsingReservedIpcSlot, //Raised when the Client is trying to use a wrong IpcSlot. The first slot if raised by: RAnim::CommandReply or RAnimDll::Construct. Either the first or the second if raised by RAnim::AsyncCommandReply
1.1997 + EW32PanicNullArray, //A Function has been called with a NULL array pointer when it should not be
1.1998 + EW32PanicGraphicAlreadyConstructed, //Not used
1.1999 + EW32PanicGraphicOrphaned, //The CWsGraphic::CManager's RPointerArray<CWsGraphic> has still pointers to CWsGraphic left inside when it should be empty
1.2000 + EW32PanicGraphicInternal, //Raised when one of the CWsGraphic::CManager's member has an inconsistent value (i.e. NULL when it should not be and viceversa)
1.2001 + EW32PanicGraphicBadBuffer, //Raised if RWsGraphicMsgBuf has been passed an out of bounds index or an incorret type message
1.2002 + EW32PanicGraphicNullData, //Raised when trying to send an empty TWsClCmdGdSendMessage
1.2003 + EW32PanicFunctionNotSupported, //Operation not supported in the current OS distribution
1.2004 + EW32PanicInvalidParameter, // Raised when an invalid parameter is passed to a function
1.2005 + EW32PanicGraphicDoubleConstruction, //Raised when Construct() is called on an already constructed client-side object
1.2006 + EW32PanicBadClientInterface, //Debug: Trying to use an interface that is not initialised
1.2007 + EW32PanicSizeNotExpected, //Debug: Returned data does not match expected sizes or granularity
1.2008 + EW32PanicStringTooLong, //A string is longer than it is allowed to be
1.2009 + };
1.2010 +
1.2011 +enum WservShutdown
1.2012 + {EWservShutdownCheck=0x13572468}; // Parameter to EWservMessShutdown to stop accidental shutdowns
1.2013 +
1.2014 +enum WservMessages
1.2015 + {
1.2016 + EWservMessCommandBuffer,
1.2017 + EWservMessShutdown,
1.2018 + EWservMessInit,
1.2019 + EWservMessFinish,
1.2020 + EWservMessSyncMsgBuf,
1.2021 + EWservMessAsynchronousService=0x010000,
1.2022 + EWservMessAnimDllAsyncCommand=0x100000,
1.2023 + };
1.2024 +
1.2025 +enum WH_HANDLES
1.2026 + {
1.2027 + WS_HANDLE_ROOT_WINDOW,
1.2028 + WS_HANDLE_CLIENT,
1.2029 + WS_HANDLE_WINDOW,
1.2030 + WS_HANDLE_GROUP_WINDOW,
1.2031 + WS_HANDLE_GC,
1.2032 + WS_HANDLE_CAPTURE_KEY,
1.2033 + WS_HANDLE_ANIM_DLL,
1.2034 + WS_HANDLE_SCREEN_DEVICE,
1.2035 + WS_HANDLE_SPRITE,
1.2036 + WS_HANDLE_POINTER_CURSOR,
1.2037 + WS_HANDLE_BITMAP,
1.2038 + WS_HANDLE_DIRECT,
1.2039 + WS_HANDLE_CLICK,
1.2040 + WS_HANDLE_TEXT_CURSOR,
1.2041 + WS_HANDLE_GRAPHIC_DRAWER,
1.2042 + WS_HANDLE_DRAWABLE_SOURCE,
1.2043 + WS_HANDLE_CAPTURE_KEY_UPDOWNS,
1.2044 + WS_HANDLE_CAPTURE_LONG_KEY,
1.2045 + };
1.2046 +
1.2047 +enum TClientPanic
1.2048 + {
1.2049 + EWservNoPanic=0, // Dummy Value used to indicate no panic
1.2050 + EWservPanicOpcode=1, // Out of range opcode
1.2051 + EWservPanicBuffer=2, // Invalid command buffer
1.2052 + EWservPanicHandle=3, // Invalid handle
1.2053 + EWservPanicNullHandle=4, // Null handle given as a handle value
1.2054 + EWservPanicDrawable=5, // Invalid drawable handle
1.2055 + EWservPanicWindow=6, // Invalid window handle
1.2056 + EWservPanicBitmap=7, // Invalid bitmap handle
1.2057 + EWservPanicReadOutstanding=8, // Event read already outstanding
1.2058 + EWservPanicGcNotActive=9, // Tried use a non-active GC
1.2059 + EWservPanicGcActive=10, // Tried to activate an already active GC
1.2060 + EWservPanicWindowActive=11, // Window already active
1.2061 + EWservPanicRedrawActive=12, // Already inside a begin/end redraw pair
1.2062 + EWservPanicFont=13, // Invalid font handle
1.2063 + EWservPanicNoFont=14, // Printing with no active font
1.2064 + EWservPanicInvalidTextCursor=15, // Tried to set invalid text cursor type
1.2065 + EWservPanicReadOnlyDrawable=16, // Attempted to write to a read only drawable
1.2066 + EWservPanicInvalidRgb=17, // Invalid RGB passed to window server
1.2067 + EWservPanicPatternBrush=18, // Invalid pattern brush
1.2068 + EWservPanicNoBrush=19, // Trying to paint without a brush
1.2069 + EWservPanicUninitialisedBitmap=20, // Trying to use an uninitialised bitmap
1.2070 + EWservPanicDestroy=21, // Trying to do a client destroy function on an illegal handle
1.2071 + EWservPanicAnimDll=22, // Panic from Animator DLL
1.2072 + EWservPanicAnim=23, // Invalid Anim object handle
1.2073 + EWservPanicAnimLeave=24, // Leave from a non-leaving anim function
1.2074 + EWservPanicKeyOfDeath=25, // Killed by the key of death!!!!
1.2075 + EWservPanicTmpFont=26, // Tried to reuse tmp font
1.2076 + EWservPanicNoTmpFont=27, // Tried to free tmp font when not allocated
1.2077 + EWservPanicBadPolyData=28, // Inconsistent polygon/polyline data
1.2078 + EWservPanicNegativeShadowHeight=29, // Tried to set a negative shadow height
1.2079 + EWservPanicRedrawToNonRedrawWindow=30, // Tried to redraw a non-redrawable window
1.2080 + EWservPanicRedrawType=31, // Init message contained invalid redraw type
1.2081 + EWservPanicInvalidRegionCount=32, // InvalidRegion was passed a zero count
1.2082 + EWservPanicNoReplyBuffer=33, // No reply buffer was passed to a function that requires one
1.2083 + EWservPanicBackedUpWindowGcActive=34, // Attempting to reactive a backed up window's GC
1.2084 + EWservPanicCornerParams=35, // Invalid corner type or flags
1.2085 + EWservPanicBitmapAccess=36, // Bitmap access not enabled on a backed up window
1.2086 + EWservPanicDescriptor=37, // Bad descriptor passed
1.2087 + EWservPanicWindowDestroyed=38, // Accessing a sprite after it's window has been destroyed
1.2088 + EWservPanicUnsignalledEventData=39, // A request for event data without a signal for that data being made
1.2089 + EWservPanicMaskSize=40, // The mask for a sprite is smaller then the bitmap
1.2090 + EWservPanicSprite=41, // bad sprite handle
1.2091 + EWservPanicNotSystemPointerCursorListOwner=42, // Trying to set/clear a system pointer cursor when not owning the list
1.2092 + EWservPanicNoPointerBuffer=43, // Enabling the pointer buffer when there isn't one allocated
1.2093 + EWservPanicBufferPtr=44, // Invalid Buf,Len in the window server command buffer
1.2094 + EWservPanicHotKey=45, // Invalid hot key type
1.2095 + EWservPanicPassword=46, // Invalid call to PasswordEntered()
1.2096 + EWservPanicSetComputeMode=47, // Invalid value in call to SetComputeMode()
1.2097 + EWservPanicBackupDisplayMode=48, // Trying to set the display mode of a backed up window
1.2098 + EWservPanicFetchMessage=49, // Trying to fetch a message when one has not been signalled
1.2099 + EWservPanicReInitialise=50, // Client sent a second Init() message
1.2100 + EWservPanicNoWindowSpecifed=51, // Trying to get off messages without specifing a window to send them to
1.2101 + EWservPanicParentDeleted=52, // Setting size, pos or extent of a window whose parent or ancestor has been deleted
1.2102 + EWservPanicResetingDefaultOwner=53, // Calling the function RWindowGroup::DefaultOwningWindow() twice on the same group window
1.2103 + EWservPanicScreenModeNumber=54, // Calling an API function with an illegal screen size mode index
1.2104 + EWservPanicScreenEnforcementMode=55, // Illegal screen mode enforcement mode
1.2105 + EWservPanicEventType=56, // Must be a pointer event
1.2106 + EWservPanicRotation=57, // Not valid rotation
1.2107 + EWservPanicNotTopClient=58, // Can only call this on a window whoes parent is a group window
1.2108 + EWservPanicDirectMisuse=59, // Trying to do things to a Direct Screen Access object in the wrong order
1.2109 + EWservPanicDuplicateHandle=60, // Client Handle already in use
1.2110 + EWservPanicNoCustomTextCursor=61, // The custom text cursor has not been set
1.2111 + EWservPanicCustomTextCursorAlign=62, // Illegal custom text cursor allignment used
1.2112 + EWservPanicNoSpriteMember=63, // Use of a sprite that does not have any member set.
1.2113 + EWservPanicTransparencyObjNotCreated=64,// Trying to set a transparency operation to a window that has not been enabled to be transparent.
1.2114 + EWservPanicScreenNumber=65, // Calling an multiple screen API function with an illegal screen number
1.2115 + EWservPanicPermissionDenied=66,
1.2116 + EWservPanicFunctionLeave=67, // A leave occured while processing command in the middle of the buffer
1.2117 + EWservPanicGroupWinScreenDeviceDeleted=68, //Trying to use a group window with a deleted Screen Device
1.2118 + EWservPanicDrawCommandsInvalidState=69, //Redraw storing cannot be disabled for transparent window
1.2119 + EWservPanicWsGraphic=70, // Bad internal state in CWsGraphic code
1.2120 + EWservPanicUninitialisedClient=71, // Tried to use an uninitialised CWsClient
1.2121 + EWservPanicNullMessageFromClient=72, // Client IPC message is NULL
1.2122 + EWservPanicTransparencyMisuse=73, // Incompatible use of window transparency and background surface
1.2123 + EWservPanic_Removed1=74, // Panic removed in CR1489, can be reused
1.2124 + EWservPanicInvalidSurface=75, // An incorrect surface type has been used
1.2125 + EWservPanicInvalidSurfaceConfiguration=76, // Use of a surface configuration without valid members
1.2126 + EWservPanic_Removed2=77, // Panic removed in CR1489, can be reused
1.2127 + EwservPanicIllegalDisplayMode=78, // Illegal display mode is used
1.2128 + EWservPanicWindowBeginRedrawNotCalled=79, // A draw operation was performed on the CWindowGc outside a RWindow::BeginRedraw() / EndRedraw() pair. Enable AutoFlush to debug.
1.2129 + EWservPanicInvalidParameter=80, // General invalid parameter code for invariant checking
1.2130 + EWservPanicDrawableSource=81, // Invalid drawable source handle
1.2131 + EWservPanicWrongScreen=82, // Child apps can only be constructed on the same screen as their parent. See RWindowGroup::ConstructChildApp
1.2132 + EWservPanicScreenCaptureInvalidRequest=83, // With Screen Capture disabled, an unexpected invalid request has been received
1.2133 + EWservPanicInvalidDisplayConfiguration=84, // Use of a display configuration without valid members
1.2134 + EWservPanicUnableToEnableAdvPointer=85, // Use when advanced pointers are enabled after an RWindow is activated
1.2135 + };
1.2136 +
1.2137 +#if defined(__WINS__)
1.2138 + // Under WINS character code is passed in as HIWORD of the scan code,
1.2139 + // and will need to be removed in some situations
1.2140 + #define __REMOVE_WINS_CHARCODE &0x0000FFFF
1.2141 + #define __WINS_CHARCODE(c) ((c) & 0xFFFF0000)
1.2142 +#else
1.2143 + #define __REMOVE_WINS_CHARCODE
1.2144 +#endif
1.2145 +
1.2146 +class CDebugLogBase: public CBase
1.2147 + {
1.2148 +public:
1.2149 + enum {EDummyConnectionId=0}; //This value is used to mean WSERV itself
1.2150 + enum
1.2151 + {
1.2152 + ELogEverything=1, // Gives the complete WSERV client server interaction along with client logging.
1.2153 + ELogIntermediate=5, // Gives the important WSERV client server interaction along with client logging.
1.2154 + ELogImportant=9, // Gives logging of panics and client logging.
1.2155 + };
1.2156 +public:
1.2157 + virtual void CommandBuf(TInt aApp)=0;
1.2158 + virtual void Command(TInt aClass, TInt aOpcode, const TAny *aCmdData, TInt aHandle)=0;
1.2159 + virtual void NewClient(TUint aConnectionHandle)=0;
1.2160 + virtual void Reply(TInt aData)=0;
1.2161 + virtual void ReplyBuf(const TDesC8 &aDes)=0;
1.2162 + virtual void ReplyBuf(const TDesC16 &aDes)=0;
1.2163 + virtual void SignalEvent(TInt aApp)=0;
1.2164 + virtual void Panic(TInt aApp, TInt aReason)=0;
1.2165 + virtual void MiscMessage(TInt aPriority,const TDesC &aFmt,TInt aParam=0)=0;
1.2166 + virtual void HeapDump()=0;
1.2167 + virtual void SetLoggingLevel(TInt aLevel)=0;
1.2168 + virtual void IniFileSettingRead(TInt aScreen, const TDesC& aVarName, TBool aFound, const TDesC& aResult)=0;
1.2169 + };
1.2170 +
1.2171 +inline TUint WservEncoding::Encode8BitValues(TUint8 aFirst,TUint8 aSecond)
1.2172 + {return aSecond<<8|aFirst;}
1.2173 +inline TUint WservEncoding::Encode8BitValues(TUint8 aFirst,TUint8 aSecond,TUint8 aThird)
1.2174 + {return aThird<<16|Encode8BitValues(aFirst,aSecond);}
1.2175 +inline TUint8 WservEncoding::ExtractFirst8BitValue(TUint aUint)
1.2176 + {return STATIC_CAST(TUint8,aUint&KMaxTUint8);}
1.2177 +inline TUint8 WservEncoding::ExtractSecond8BitValue(TUint aUint)
1.2178 + {return STATIC_CAST(TUint8,aUint>>8&KMaxTUint8);}
1.2179 +inline TUint8 WservEncoding::ExtractThird8BitValue(TUint aUint)
1.2180 + {return STATIC_CAST(TUint8,aUint>>16);}
1.2181 +//
1.2182 +inline TWsClCmdCreateSprite::TWsClCmdCreateSprite(TInt aWindow, const TPoint &aPos, TUint aFlags) :
1.2183 + window(aWindow),pos(aPos),flags(aFlags)
1.2184 + {}
1.2185 +inline TWsClCmdSetWindowGroupOrdinalPosition::TWsClCmdSetWindowGroupOrdinalPosition(TInt aIdentifier, TInt aPosition) :
1.2186 + identifier(aIdentifier),position(aPosition)
1.2187 + {}
1.2188 +inline TWsClCmdSetKeyboardRepeatRate::TWsClCmdSetKeyboardRepeatRate(const TTimeIntervalMicroSeconds32 &aInitial,const TTimeIntervalMicroSeconds32 &aTime) :
1.2189 + initial(aInitial), time(aTime)
1.2190 + {}
1.2191 +inline TWsClCmdSetDoubleClick::TWsClCmdSetDoubleClick(const TTimeIntervalMicroSeconds32 &aInterval,TInt aDistance) :
1.2192 + interval(aInterval), distance(aDistance)
1.2193 + {}
1.2194 +inline TWsClCmdSendEventToWindowGroup::TWsClCmdSendEventToWindowGroup(TInt aParameter, const TWsEvent &aEvent) :
1.2195 + parameter(aParameter), event(aEvent)
1.2196 + {}
1.2197 +inline TWsClCmdFindWindowGroupIdentifier::TWsClCmdFindWindowGroupIdentifier(TInt aPreviousIdentifier,TInt aOffset,TInt aLength) :
1.2198 + identifier(aPreviousIdentifier),offset(aOffset),length(aLength)
1.2199 + {}
1.2200 +inline TWsClCmdSendMessageToWindowGroup::TWsClCmdSendMessageToWindowGroup(TInt aIdentifier, TUid aUid, TInt aDataLength, const TDesC8 *aPtr) :
1.2201 + identifierOrPriority(aIdentifier), uid(aUid), dataLength(aDataLength), ptr(aPtr)
1.2202 + {}
1.2203 +inline TWsClCmdFetchMessage::TWsClCmdFetchMessage(TInt aWindowGroupIdentifier) :
1.2204 + windowGroupIdentifier(aWindowGroupIdentifier)
1.2205 + {}
1.2206 +inline TWsClCmdFindWindowGroupIdentifierThread::TWsClCmdFindWindowGroupIdentifierThread(TInt aPreviousIdentifier,TThreadId aThreadId) :
1.2207 + identifier(aPreviousIdentifier),threadId(aThreadId)
1.2208 + {}
1.2209 +inline TWsClCmdGetWindowGroupNameFromIdentifier::TWsClCmdGetWindowGroupNameFromIdentifier(TInt aIdentifier,TInt aMaxLength) :
1.2210 + identifier(aIdentifier),maxLength(aMaxLength)
1.2211 + {}
1.2212 +inline TWsClCmdOffEventsToShell::TWsClCmdOffEventsToShell(TBool aOn,TUint32 aWindow) :
1.2213 + on(aOn),window(aWindow)
1.2214 + {}
1.2215 +inline TWsClCmdSetPointerCursorArea::TWsClCmdSetPointerCursorArea(TInt aMode,TRect aArea) :
1.2216 + mode(aMode),area(aArea)
1.2217 + {}
1.2218 +inline TWsClCmdSetSystemFaded::TWsClCmdSetSystemFaded(TBool aFaded, TBool aUseDefaults/*=ETrue*/, TUint8 aBlackMap/*=0*/, TUint8 aWhiteMap/*=0*/)
1.2219 + {params=WservEncoding::Encode8BitValues(aBlackMap,aWhiteMap
1.2220 + ,STATIC_CAST(TUint8,(aFaded?EFaded:0)|(aUseDefaults?EUseDefaultMap:0)));}
1.2221 +inline TBool TWsClCmdSetSystemFaded::Faded() const
1.2222 + {return WservEncoding::ExtractThird8BitValue(params)&EFaded;}
1.2223 +inline TBool TWsClCmdSetSystemFaded::UseDefaultMap() const
1.2224 + {return WservEncoding::ExtractThird8BitValue(params)&EUseDefaultMap;}
1.2225 +inline void TWsClCmdSetSystemFaded::GetFadingParams(TUint8& aBlackMap,TUint8& aWhiteMap) const
1.2226 + {aBlackMap=WservEncoding::ExtractFirst8BitValue(params);aWhiteMap=WservEncoding::ExtractSecond8BitValue(params);}
1.2227 +inline TWsClCmdDebugInfo::TWsClCmdDebugInfo(TInt aFunction, TInt aParam) : iFunction(aFunction), iParam(aParam)
1.2228 + {}
1.2229 +#if defined(SYMBIAN_GRAPHICS_GCE)
1.2230 +inline TWsClCmdCreateDrawableSource::TWsClCmdCreateDrawableSource(const TSgDrawableId& aDrawableId, TInt aScreenNumber)
1.2231 + : iDrawableId(aDrawableId), iScreenNumber(aScreenNumber)
1.2232 + {}
1.2233 +inline TWsClCmdSurfaceRegister::TWsClCmdSurfaceRegister(TInt aScreenNumber, const TSurfaceId& aSurface):
1.2234 + screenNumber(aScreenNumber), surfaceId(aSurface)
1.2235 + {}
1.2236 +#endif
1.2237 +inline TWsWinCmdSetExtent::TWsWinCmdSetExtent(const TPoint &aPos,const TSize &aSize) :
1.2238 + pos(aPos),size(aSize)
1.2239 + {}
1.2240 +inline TWsWinCmdCaptureLongKey::TWsWinCmdCaptureLongKey()
1.2241 + {}
1.2242 +inline TWsWinCmdCaptureLongKey::TWsWinCmdCaptureLongKey(TUint aModifiers,TUint aModifierMask,TUint aInputKey,TUint aOutputKey
1.2243 + ,TTimeIntervalMicroSeconds32 aDelay,TInt aPriority,TUint aFlags) :
1.2244 + modifiers(aModifiers),modifierMask(aModifierMask),inputKey(aInputKey),outputKey(aOutputKey)
1.2245 + ,delay(aDelay),priority(aPriority),flags(aFlags)
1.2246 + {}
1.2247 +inline TWsWinCmdScroll::TWsWinCmdScroll(const TRect &aClip,const TPoint &aOffset,const TRect &aRect) :
1.2248 + clip(aClip), offset(aOffset), rect(aRect)
1.2249 + {}
1.2250 +inline TWsWinCmdSetTextCursor::TWsWinCmdSetTextCursor(TUint32 aWindow, const TPoint &aPos, const TTextCursor &aCursor, const TRect &aRect) :
1.2251 + window(aWindow), pos(aPos), cursor(aCursor), rect(aRect)
1.2252 + {}
1.2253 +inline TWsWinCmdSetTextCursor::TWsWinCmdSetTextCursor(TUint32 aWindow, const TPoint &aPos, const TTextCursor &aCursor) :
1.2254 + window(aWindow), pos(aPos), cursor(aCursor)
1.2255 + {}
1.2256 +inline TWsWinCmdGrabControl::TWsWinCmdGrabControl(const TUint aGrabControlFlags)
1.2257 +: pointerNumber(KErrNotFound), flags(aGrabControlFlags)
1.2258 + {}
1.2259 +inline TWsWinCmdGrabControl::TWsWinCmdGrabControl(const TUint8 aPointerNumber, const TUint aGrabControlFlags)
1.2260 +: pointerNumber(aPointerNumber), flags(aGrabControlFlags)
1.2261 + {}
1.2262 +inline TBool TWsWinCmdGrabControl::CheckFlags(TUint aFlags) const
1.2263 + {return (flags&aFlags)==aFlags;}
1.2264 +inline TBool TWsWinCmdGrabControl::HasPointerNumber() const
1.2265 + {return KErrNotFound!=pointerNumber;}
1.2266 +
1.2267 +inline TWsWinCmdCancelPointerRepeatEventRequest::TWsWinCmdCancelPointerRepeatEventRequest()
1.2268 +: pointerNumber(KErrNotFound), flags(TWsWinCmdCancelPointerRepeatEventRequest::ECancelRepeatFlagsNone)
1.2269 + {}
1.2270 +inline TWsWinCmdCancelPointerRepeatEventRequest::TWsWinCmdCancelPointerRepeatEventRequest(const TUint8 aPointerNumber)
1.2271 +: pointerNumber(aPointerNumber), flags(TWsWinCmdCancelPointerRepeatEventRequest::ECancelRepeatFlagsNone)
1.2272 + {}
1.2273 +inline TWsWinCmdCancelPointerRepeatEventRequest::TWsWinCmdCancelPointerRepeatEventRequest(const TUint8 aPointerNumber, const TUint aFlags)
1.2274 +: pointerNumber(aPointerNumber), flags(aFlags)
1.2275 + {}
1.2276 +inline TBool TWsWinCmdCancelPointerRepeatEventRequest::HasPointerNumber() const
1.2277 + {return KErrNotFound!=pointerNumber;}
1.2278 +inline TWsWinCmdRequestPointerRepeatEvent::TWsWinCmdRequestPointerRepeatEvent(const TTimeIntervalMicroSeconds32 &aTime,const TRect &aRect)
1.2279 +: time(aTime),rect(aRect),pointerNumber(KErrNotFound),repeatFlags(ERepeatFlagsNone)
1.2280 + {}
1.2281 +inline TWsWinCmdRequestPointerRepeatEvent::TWsWinCmdRequestPointerRepeatEvent(const TTimeIntervalMicroSeconds32 &aTime,const TRect &aRect,const TUint8 aPointerNumber, const TUint aRepeatFlags)
1.2282 +: time(aTime),rect(aRect),pointerNumber(aPointerNumber),repeatFlags(aRepeatFlags)
1.2283 + {}
1.2284 +inline TBool TWsWinCmdRequestPointerRepeatEvent::HasPointerNumber() const
1.2285 + {return KErrNotFound!=pointerNumber;}
1.2286 +inline TWsClCmdZThresholdPair::TWsClCmdZThresholdPair(const TInt aEnterThreshold, const TInt aExitThreshold)
1.2287 +: enterThreshold(aEnterThreshold),exitThreshold(aExitThreshold)
1.2288 + {}
1.2289 +inline TWsClCmdSendEffectCommand::TWsClCmdSendEffectCommand(TInt aTfxCmd,TInt aTfxCmdDataLength, TInt aWinHandle) :
1.2290 + tfxCmd(aTfxCmd), tfxCmdDataLength(aTfxCmdDataLength), windowHandle(aWinHandle)
1.2291 + {}
1.2292 +inline TWsClCmdRegisterEffect::TWsClCmdRegisterEffect(TInt aAction, TInt aPurpose, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize, TUint aAppUid, TBitFlags aFlags) :
1.2293 + tfxAction(aAction), tfxPurpose(aPurpose), tfxDirStrSize(aDirStrSize), tfxPhase1StrSize(aPhase1StrSize), tfxPhase2StrSize(aPhase2StrSize), tfxAppUid(aAppUid), tfxFlags(aFlags)
1.2294 + {}
1.2295 +inline TWsClCmdUnRegisterEffect::TWsClCmdUnRegisterEffect(TInt aAction, TInt aPurpose, TUint aAppUid) :
1.2296 + tfxAction(aAction), tfxPurpose(aPurpose), tfxAppUid(aAppUid)
1.2297 + {}
1.2298 +inline TWsClCmdOverrideEffect::TWsClCmdOverrideEffect(TInt aAction, TInt aPurpose, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize, TBitFlags aFlags) :
1.2299 + tfxAction(aAction), tfxPurpose(aPurpose), tfxDirStrSize(aDirStrSize), tfxPhase1StrSize(aPhase1StrSize), tfxPhase2StrSize(aPhase2StrSize), tfxFlags(aFlags)
1.2300 + {}
1.2301 +inline TWsWinCmdAddKeyRect::TWsWinCmdAddKeyRect(const TRect &aRect,TInt aScanCode, TBool aActivatedByPointerSwitchOn) :
1.2302 + rect(aRect), scanCode(aScanCode), activatedByPointerSwitchOn(aActivatedByPointerSwitchOn)
1.2303 + {}
1.2304 +#if defined(SYMBIAN_GRAPHICS_GCE)
1.2305 +inline TWsWinOpSetBackgroundSurfaceConfig::TWsWinOpSetBackgroundSurfaceConfig(const TSurfaceConfiguration& aConfiguration, TBool aTriggerRedraw) :
1.2306 + surfaceConfig(aConfiguration), triggerRedraw(aTriggerRedraw)
1.2307 + {}
1.2308 +#endif
1.2309 +inline TWsWinCmdEnableModifierChangedEvents::TWsWinCmdEnableModifierChangedEvents(TUint aModifierMask, TEventControl aCircumstances) :
1.2310 + modifierMask(aModifierMask), circumstances(aCircumstances)
1.2311 + {}
1.2312 +inline TWsWinCmdSetFaded::TWsWinCmdSetFaded(TBool aFaded, TBool aIncludeChildren, TBool aUseDefaults/*=ETrue*/, TUint8 aBlackMap/*=0*/, TUint8 aWhiteMap/*=0*/)
1.2313 + {params=WservEncoding::Encode8BitValues(aBlackMap,aWhiteMap
1.2314 + ,STATIC_CAST(TUint8,(aFaded?EFaded:0)|(aIncludeChildren?EIncludeChildren:0)|(aUseDefaults?EUseDefaultMap:0)));}
1.2315 +inline TBool TWsWinCmdSetFaded::Faded() const
1.2316 + {return WservEncoding::ExtractThird8BitValue(params)&EFaded;}
1.2317 +inline TBool TWsWinCmdSetFaded::IncludeChildren() const
1.2318 + {return WservEncoding::ExtractThird8BitValue(params)&EIncludeChildren;}
1.2319 +inline TBool TWsWinCmdSetFaded::UseDefaultMap() const
1.2320 + {return WservEncoding::ExtractThird8BitValue(params)&EUseDefaultMap;}
1.2321 +inline void TWsWinCmdSetFaded::GetFadingParams(TUint8& aBlackMap,TUint8& aWhiteMap) const
1.2322 + {aBlackMap=WservEncoding::ExtractFirst8BitValue(params);aWhiteMap=WservEncoding::ExtractSecond8BitValue(params);}
1.2323 +//
1.2324 +inline TWsGcCmdBoxTextVertical::TWsGcCmdBoxTextVertical(const TRect& aBox) : box(aBox)
1.2325 + {}
1.2326 +inline TWsGcCmdBoxTextLocal::TWsGcCmdBoxTextLocal(const TRect &aBox) : box(aBox)
1.2327 + {}
1.2328 +inline TWsGcCmdDrawTextLocal::TWsGcCmdDrawTextLocal(const TPoint &aPos,const TDesC *aDesc) :
1.2329 + pos(aPos), desc(aDesc)
1.2330 + {}
1.2331 +inline TWsGcCmdDrawLine::TWsGcCmdDrawLine(const TPoint &aPnt1,const TPoint &aPnt2) : pnt1(aPnt1),pnt2(aPnt2)
1.2332 + {}
1.2333 +inline TWsGcCmdDrawArcOrPie::TWsGcCmdDrawArcOrPie(const TRect &aRect,const TPoint &aStart,const TPoint &aEnd) :
1.2334 + rect(aRect),start(aStart),end(aEnd)
1.2335 + {}
1.2336 +inline TWsGcCmdDrawText::TWsGcCmdDrawText(const TPoint &aPos, TInt aLength) :
1.2337 + pos(aPos),length(aLength)
1.2338 + {}
1.2339 +inline TWsGcCmdDrawTextVertical::TWsGcCmdDrawTextVertical(const TPoint &aPos, TInt aLength, TBool aUp) :
1.2340 + pos(aPos),length(aLength),up(aUp)
1.2341 + {}
1.2342 +inline TWsGcCmdBoxTextOptimised1::TWsGcCmdBoxTextOptimised1(const TRect &aRect, TInt aBaselineOffset,TInt aLength) :
1.2343 + box(aRect),baselineOffset(aBaselineOffset),length(aLength)
1.2344 + {}
1.2345 +inline TWsGcCmdBoxTextOptimised2::TWsGcCmdBoxTextOptimised2(const TRect &aRect,TInt aBaselineOffset,CGraphicsContext::TTextAlign aHoriz,TInt aLeftMrg,TInt aLength) :
1.2346 + box(aRect),baselineOffset(aBaselineOffset),horiz(aHoriz),leftMrg(aLeftMrg),length(aLength)
1.2347 + {}
1.2348 +inline TWsGcCmdBoxText::TWsGcCmdBoxText(const TRect &aRect,TInt aBaselineOffset,CGraphicsContext::TTextAlign aHoriz,TInt aLeftMrg,TInt aLength,TInt aWidth) :
1.2349 + box(aRect),baselineOffset(aBaselineOffset),horiz(aHoriz),leftMrg(aLeftMrg),length(aLength),width(aWidth)
1.2350 + {}
1.2351 +inline TWsGcCmdDrawRoundRect::TWsGcCmdDrawRoundRect(const TRect &aRect,const TSize &aEllipse) : rect(aRect), ellipse(aEllipse)
1.2352 + {}
1.2353 +inline TWsGcCmdDrawPolygonLocalBufLen::TWsGcCmdDrawPolygonLocalBufLen(const TPoint *aPointList,TInt aNumPoints, CGraphicsContext::TFillRule aFillRule) :
1.2354 + points(aPointList),length(aNumPoints),fillRule(aFillRule)
1.2355 + {}
1.2356 +inline TWsGcCmdDrawPolyLineLocalBufLen::TWsGcCmdDrawPolyLineLocalBufLen(const TPoint *aPointList,TInt aNumPoints) :
1.2357 + points(aPointList),length(aNumPoints)
1.2358 + {}
1.2359 +inline TWsGcCmdDrawBitmap::TWsGcCmdDrawBitmap(const TPoint &aPoint,TInt aHandle) : handle(aHandle), pos(aPoint)
1.2360 + {}
1.2361 +inline TWsGcCmdDrawBitmap2::TWsGcCmdDrawBitmap2(const TRect &aRect,TInt aHandle) : handle(aHandle), rect(aRect)
1.2362 + {}
1.2363 +inline TWsGcCmdDrawBitmap3::TWsGcCmdDrawBitmap3(const TRect &aRect,TInt aHandle,const TRect &aSrcRect) :
1.2364 + handle(aHandle), rect(aRect), srcRect(aSrcRect)
1.2365 + {}
1.2366 +inline TWsGcCmdDrawBitmapMasked::TWsGcCmdDrawBitmapMasked(const TRect &aDestRect,TInt aHandle,const TRect& aSrcRect,TInt aMaskHandle,TBool aInvertMask) :
1.2367 + iHandle(aHandle),iMaskHandle(aMaskHandle),iRect(aDestRect),iSrcRect(aSrcRect),iInvertMask(aInvertMask)
1.2368 + {}
1.2369 +inline TWsGcCmdDrawBitmapLocal::TWsGcCmdDrawBitmapLocal(const TPoint &aPos,const CFbsBitmap *aBitmap) :
1.2370 + bitmap(aBitmap), pos(aPos)
1.2371 + {}
1.2372 +inline TWsGcCmdDrawBitmap2Local::TWsGcCmdDrawBitmap2Local(const TRect &aRect,const CFbsBitmap *aBitmap) :
1.2373 + bitmap(aBitmap), rect(aRect)
1.2374 + {}
1.2375 +inline TWsGcCmdDrawBitmap3Local::TWsGcCmdDrawBitmap3Local(const TRect &aRect,const CFbsBitmap *aBitmap,const TRect &aSrcRect) :
1.2376 + bitmap(aBitmap), rect(aRect), srcRect(aSrcRect)
1.2377 + {}
1.2378 +inline TWsGcCmdDrawBitmapMaskedLocal::TWsGcCmdDrawBitmapMaskedLocal(const TRect &aDestRect,const CFbsBitmap* aBitmap,const TRect& aSrcRect,const CFbsBitmap* aMaskBitmap,TBool aInvertMask) :
1.2379 + iBitmap(aBitmap),iMaskBitmap(aMaskBitmap),iRect(aDestRect),iSrcRect(aSrcRect),iInvertMask(aInvertMask)
1.2380 + {}
1.2381 +inline TWsGcCmdCopyRect::TWsGcCmdCopyRect(const TPoint &anOffset,const TRect &aRect) :
1.2382 + rect(aRect),pos(anOffset)
1.2383 + {}
1.2384 +inline TWsGcCmdGdiBlt2::TWsGcCmdGdiBlt2(const TPoint &aPoint, TInt aHandle) :
1.2385 + handle(aHandle), pos(aPoint)
1.2386 + {}
1.2387 +inline TWsGcCmdGdiBlt3::TWsGcCmdGdiBlt3(const TPoint &aPoint, TInt aHandle, const TRect &aSrcRect) :
1.2388 + handle(aHandle),pos(aPoint),rect(aSrcRect)
1.2389 + {}
1.2390 +inline TWsGcCmdGdiBlt2Local::TWsGcCmdGdiBlt2Local(const TPoint &aPoint,const CFbsBitmap *aBitmap) :
1.2391 + bitmap(aBitmap), pos(aPoint)
1.2392 + {}
1.2393 +inline TWsGcCmdGdiBlt3Local::TWsGcCmdGdiBlt3Local(const TPoint &aDestination,const CFbsBitmap *aBitmap,const TRect &aSource) :
1.2394 + bitmap(aBitmap), pos(aDestination), rect(aSource)
1.2395 + {}
1.2396 +inline TWsGcCmdGdiBltMaskedLocal::TWsGcCmdGdiBltMaskedLocal(const TPoint& aPoint,const CFbsBitmap* aBitmap,const TRect &aSourceRect,const CFbsBitmap* aMaskBitmap,TBool aInvertMask) :
1.2397 + bitmap(aBitmap), maskBitmap(aMaskBitmap), invertMask(aInvertMask), pos(aPoint), rect(aSourceRect)
1.2398 + {}
1.2399 + inline TWsGcCmdBltMasked::TWsGcCmdBltMasked()
1.2400 + {}
1.2401 +inline TWsGcCmdBltMasked::TWsGcCmdBltMasked(const TPoint& aPoint,TInt aBitmap,const TRect& aSourceRect,TInt aMaskBitmap,TBool aInvertMask) :
1.2402 + destination(aPoint), handle(aBitmap), source(aSourceRect), maskHandle(aMaskBitmap), invertMask(aInvertMask)
1.2403 + {}
1.2404 +inline TWsGcCmdMapColors::TWsGcCmdMapColors(const TRect &aRect, TInt aNumPairs, TBool aMapForwards) :
1.2405 + rect(aRect), numPairs(aNumPairs), mapForwards(aMapForwards)
1.2406 + {}
1.2407 +inline TWsGcCmdMapColorsLocal::TWsGcCmdMapColorsLocal(const TRect &aRect, const TRgb *aColors, TInt aNumPairs, TBool aMapForwards) :
1.2408 + rect(aRect), colors(aColors), numPairs(aNumPairs), mapForwards(aMapForwards)
1.2409 + {}
1.2410 +inline TWsGcCmdAlphaBlendBitmaps::TWsGcCmdAlphaBlendBitmaps()
1.2411 + {}
1.2412 +inline TWsGcCmdAlphaBlendBitmaps::TWsGcCmdAlphaBlendBitmaps(const TPoint& aPoint, TInt aBitmap,const TRect& aSourceRect,TInt aAlpha,const TPoint& aAlphaPoint) :
1.2413 + point(aPoint), bitmapHandle(aBitmap), source(aSourceRect), alphaHandle(aAlpha), alphaPoint(aAlphaPoint)
1.2414 + {}
1.2415 +inline TWsGcCmdAlphaBlendBitmapsLocal::TWsGcCmdAlphaBlendBitmapsLocal(const TPoint& aPoint, const CFbsBitmap *aBitmap, const TRect& aSourceRect, const CFbsBitmap *aAlpha, const TPoint& aAlphaPoint) :
1.2416 + point(aPoint), iBitmap(aBitmap), source(aSourceRect), iAlpha(aAlpha), alphaPoint(aAlphaPoint)
1.2417 + {}
1.2418 +
1.2419 +//
1.2420 +inline TWsSdCmdSetScreenRotation::TWsSdCmdSetScreenRotation(TInt aMode, CFbsBitGc::TGraphicsOrientation aRotation) :
1.2421 + mode(aMode), rotation(aRotation)
1.2422 + {}
1.2423 +inline TWsSdCmdGetScanLine::TWsSdCmdGetScanLine(const TPoint &aPos, TInt aLen, TDisplayMode aDispMode) :
1.2424 + pos(aPos), len(aLen), dispMode(aDispMode)
1.2425 + {}
1.2426 +inline TWsSdCmdRectCompare::TWsSdCmdRectCompare(const TRect &aRect1,const TRect &aRect2,TUint aFlags) :
1.2427 + rect1(aRect1), rect2(aRect2), flags(aFlags)
1.2428 + {}
1.2429 +inline TWsSdCmdCopyScreenToBitmap::TWsSdCmdCopyScreenToBitmap(TInt aHandle) :
1.2430 + handle(aHandle)
1.2431 + {}
1.2432 +inline TWsSdCmdCopyScreenToBitmap2::TWsSdCmdCopyScreenToBitmap2(const TRect &aRect, TInt aHandle) :
1.2433 + rect(aRect), handle(aHandle)
1.2434 + {}
1.2435 +inline TWsSdCmdSetPalette::TWsSdCmdSetPalette(TPtr8& aPtr) :
1.2436 + ptr(&aPtr), length(aPtr.Length())
1.2437 + {}
1.2438 +inline TWsSdCmdMapCoordinates::TWsSdCmdMapCoordinates(const TRect &aSource, TCoordinateSpace aSourceSpace, TCoordinateSpace aTargetSpace):
1.2439 + sourceRect(aSource), sourceSpace(aSourceSpace), targetSpace(aTargetSpace)
1.2440 + {}
1.2441 +//
1.2442 +inline TWsSpriteCmdUpdateMember::TWsSpriteCmdUpdateMember(TInt aIndex,const TSpriteMember &aData) :
1.2443 + index(aIndex), data(aData)
1.2444 + {}
1.2445 +//
1.2446 +inline TWsDirectCmdRequestReply::TWsDirectCmdRequestReply()
1.2447 + {}
1.2448 +inline TWsDirectCmdRequestReply::TWsDirectCmdRequestReply(TThreadId aId,TRequestStatus* aRequest) :
1.2449 + id(aId), request(aRequest)
1.2450 + {}
1.2451 +//
1.2452 +inline SKeyRepeatSettings::SKeyRepeatSettings()
1.2453 + {}
1.2454 +inline SDoubleClickSettings::SDoubleClickSettings()
1.2455 + {}
1.2456 +inline SDefModeMaxNumColors::SDefModeMaxNumColors()
1.2457 + {}
1.2458 +//
1.2459 +inline TCmdSpriteMember::TCmdSpriteMember()
1.2460 + {}
1.2461 +
1.2462 +inline TWsGcCmdDrawTextVerticalPtr::TWsGcCmdDrawTextVerticalPtr(const TDesC *aDesc, const TPoint& aPos, const TBool aUp) : pos(aPos), up(aUp), text(const_cast<TDesC*>(aDesc))
1.2463 + {}
1.2464 +
1.2465 +inline TWsGcCmdDrawWsGraphic::TWsGcCmdDrawWsGraphic(const TWsGraphicId& aId,const TRect& aRect):
1.2466 + iRect(aRect), iDataLen(0)
1.2467 + {
1.2468 + if(aId.IsUid())
1.2469 + {
1.2470 + iId = aId.Uid().iUid;
1.2471 + iFlags = EWsGraphicIdUid;
1.2472 + }
1.2473 + else
1.2474 + {
1.2475 + iId = aId.Id();
1.2476 + iFlags = EWsGraphicIdTransient;
1.2477 + }
1.2478 + }
1.2479 +inline TWsGcCmdDrawTextInContext::TWsGcCmdDrawTextInContext(const TPoint &aPos, TInt aLength, TInt aStart, TInt aEnd) :
1.2480 + pos(aPos),length(aLength),start(aStart),end(aEnd)
1.2481 + {}
1.2482 +inline TWsGcCmdDrawTextInContextVertical::TWsGcCmdDrawTextInContextVertical(const TPoint &aPos, TInt aLength, TBool aUp,TInt aStart,TInt aEnd) :
1.2483 + pos(aPos),length(aLength),up(aUp),start(aStart),end(aEnd)
1.2484 + {}
1.2485 +inline TWsGcCmdDrawTextInContextVerticalPtr::TWsGcCmdDrawTextInContextVerticalPtr(const TDesC *aDesc, const TPoint& aPos, const TBool aUp,TInt aStart,TInt aEnd) : pos(aPos), up(aUp), text(const_cast<TDesC*>(aDesc)),start(aStart),end(aEnd)
1.2486 + {}
1.2487 +inline TWsGcCmdBoxTextInContextLocal::TWsGcCmdBoxTextInContextLocal(const TRect &aBox,const TInt aStart,const TInt aEnd) : box(aBox),start(aStart),end(aEnd)
1.2488 + {}
1.2489 +inline TWsGcCmdBoxTextInContextOptimised1::TWsGcCmdBoxTextInContextOptimised1(const TRect &aRect, TInt aBaselineOffset,TInt aLength,TInt aStart,TInt aEnd) :
1.2490 + box(aRect),baselineOffset(aBaselineOffset),length(aLength),start(aStart),end(aEnd)
1.2491 + {}
1.2492 +inline TWsGcCmdBoxTextInContextOptimised2::TWsGcCmdBoxTextInContextOptimised2(const TRect &aRect,TInt aBaselineOffset,CGraphicsContext::TTextAlign aHoriz,TInt aLeftMrg,TInt aLength,TInt aStart,TInt aEnd) :
1.2493 + box(aRect),baselineOffset(aBaselineOffset),horiz(aHoriz),leftMrg(aLeftMrg),length(aLength),start(aStart),end(aEnd)
1.2494 + {}
1.2495 +inline TWsGcCmdBoxTextInContext::TWsGcCmdBoxTextInContext(const TRect &aRect,TInt aBaselineOffset,CGraphicsContext::TTextAlign aHoriz,TInt aLeftMrg,TInt aLength,TInt aWidth,TInt aStart,TInt aEnd) :
1.2496 + box(aRect),baselineOffset(aBaselineOffset),horiz(aHoriz),leftMrg(aLeftMrg),length(aLength),width(aWidth),start(aStart),end(aEnd)
1.2497 + {}
1.2498 +inline TWsGcCmdBoxTextInContextVertical::TWsGcCmdBoxTextInContextVertical(const TRect& aBox) : box(aBox)
1.2499 + {}
1.2500 +inline TWsGcCmdDrawTextInContextLocal::TWsGcCmdDrawTextInContextLocal(const TPoint &aPos,const TDesC *aDesc,TInt aStart,TInt aEnd) :
1.2501 + pos(aPos), desc(aDesc),start(aStart),end(aEnd)
1.2502 + {}
1.2503 +inline TWsGcCmdDrawResourceToPos::TWsGcCmdDrawResourceToPos(TInt aWsHandle, const TPoint &aPos, CWindowGc::TGraphicsRotation aRotation) :
1.2504 + wsHandle(aWsHandle), pos(aPos), rotation(aRotation)
1.2505 + {}
1.2506 +inline TWsGcCmdDrawResourceToRect::TWsGcCmdDrawResourceToRect(TInt aWsHandle, const TRect &aRect, CWindowGc::TGraphicsRotation aRotation) :
1.2507 + wsHandle(aWsHandle), rect(aRect), rotation(aRotation)
1.2508 + {}
1.2509 +inline TWsGcCmdDrawResourceFromRectToRect::TWsGcCmdDrawResourceFromRectToRect(TInt aWsHandle, const TRect &aRectDest, const TRect &aRectSrc, CWindowGc::TGraphicsRotation aRotation) :
1.2510 + wsHandle(aWsHandle), rectDest(aRectDest), rectSrc(aRectSrc), rotation(aRotation)
1.2511 + {}
1.2512 +inline TWsGcCmdDrawResourceWithData::TWsGcCmdDrawResourceWithData(TInt aWsHandle, const TRect &aRect, const TDesC8* aDesc) :
1.2513 + wsHandle(aWsHandle), rect(aRect), desc(aDesc)
1.2514 + {}
1.2515 +#endif