windowing/windowserver/SERVER/w32cmd.h
changeset 36 01a6848ebfd7
parent 0 5d03bc08d59c
child 45 36b2e23a8629
equal deleted inserted replaced
0:5d03bc08d59c 36:01a6848ebfd7
     1 // Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
     1 // Copyright (c) 1999-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 // All rights reserved.
     2 // All rights reserved.
     3 // This component and the accompanying materials are made available
     3 // This component and the accompanying materials are made available
     4 // under the terms of "Eclipse Public License v1.0"
     4 // under the terms of "Eclipse Public License v1.0"
     5 // which accompanies this distribution, and is available
     5 // which accompanies this distribution, and is available
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
     6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
   132 enum {EMaxPolygonPoints=50}; // Max size polygon that can be drawn without allocing
   132 enum {EMaxPolygonPoints=50}; // Max size polygon that can be drawn without allocing
   133 enum {EMaxPolylinePoints=50}; // Max size polygon that can be drawn without allocing
   133 enum {EMaxPolylinePoints=50}; // Max size polygon that can be drawn without allocing
   134 
   134 
   135 enum {EClickLoaded=0x01, EClickLoadable=0x02};
   135 enum {EClickLoaded=0x01, EClickLoadable=0x02};
   136 
   136 
   137 //
   137 ////////////////////////
   138 // Opcodes
   138 // Opcodes
   139 //
   139 ////////////////////////
   140 
   140 
   141 // Client opcodes
   141 // Client opcodes
   142 
   142 
   143 enum TWsClientOpcodes
   143 enum TWsClientOpcodes
   144 	{
   144 	{
   257 	EWsClOpGetExitCloseProximityThreshold,
   257 	EWsClOpGetExitCloseProximityThreshold,
   258 	EWsClOpGetEnterHighPressureThreshold,
   258 	EWsClOpGetEnterHighPressureThreshold,
   259 	EWsClOpGetExitHighPressureThreshold,
   259 	EWsClOpGetExitHighPressureThreshold,
   260 	EWsClOpCreateDrawableSource,
   260 	EWsClOpCreateDrawableSource,
   261 	EWsClOpCreateDirectScreenAccessRegionTrackingOnly,
   261 	EWsClOpCreateDirectScreenAccessRegionTrackingOnly,
       
   262 	EWsClOpSendEffectCommand,
       
   263 	EWsClOpRegisterTFXEffectBuf,
       
   264 	EWsClOpRegisterTFXEffectIPC,
       
   265 	EWsClOpUnregisterTFXEffect,
       
   266 	EWsClOpUnregisterAllTFXEffect,
       
   267 	EWsClOpOverrideEffectBuf,
       
   268 	EWsClOpOverrideEffectIPC,
   262 	EWsClOpLastEnumValue //Keep this at the end - used by test code
   269 	EWsClOpLastEnumValue //Keep this at the end - used by test code
   263 	};
   270 	};
   264 	
   271 	
   265 // Graphic Drawer opcodes
   272 // Graphic Drawer opcodes
   266 
   273 
   426 	EWsWinOpScreenNumber,
   433 	EWsWinOpScreenNumber,
   427 	EWsWinOpEnableAdvancedPointers,
   434 	EWsWinOpEnableAdvancedPointers,
   428 #ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS	
   435 #ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS	
   429 	EWsWinOpSetSurfaceTransparency,
   436 	EWsWinOpSetSurfaceTransparency,
   430 #endif
   437 #endif
       
   438 	EWsWinOpSetPurpose,
       
   439 	EWsWinOpSendEffectCommand,
       
   440 	EWsWinOpOverrideEffectBuf,
       
   441 	EWsWinOpOverrideEffectIPC,
   431 	EWsWinOpTestLowPriorityRedraw=0x2000,  //Specific opcode for testing redraw queue priorities
   442 	EWsWinOpTestLowPriorityRedraw=0x2000,  //Specific opcode for testing redraw queue priorities
   432 	};
   443 	};
   433 
   444 
   434 // GC opcodes
   445 // GC opcodes
   435 
   446 
   710 enum TWsDrawableSourceOpcodes
   721 enum TWsDrawableSourceOpcodes
   711 	{
   722 	{
   712 	EWsDrawableSourceOpFree=0x0000,
   723 	EWsDrawableSourceOpFree=0x0000,
   713 	};
   724 	};
   714 
   725 
   715 //
   726 ////////////////////////
   716 // Command structures
   727 // Command structures
   717 //
   728 ////////////////////////
   718 
   729 
   719 /** Structure used to pass commands between the client and the server.
   730 /** Structure used to pass commands between the client and the server.
   720 
   731 
   721 @internalComponent
   732 @internalComponent
   722 @released
   733 @released
   956 	{
   967 	{
   957 	inline TWsClCmdZThresholdPair(const TInt aEnterThreshold, const TInt aExitThreshold);
   968 	inline TWsClCmdZThresholdPair(const TInt aEnterThreshold, const TInt aExitThreshold);
   958 	TInt enterThreshold;
   969 	TInt enterThreshold;
   959 	TInt exitThreshold;
   970 	TInt exitThreshold;
   960 	};
   971 	};
       
   972 struct TWsClCmdSendEffectCommand
       
   973 	{
       
   974 	inline TWsClCmdSendEffectCommand(TInt aTfxCmd,TInt aTfxCmdDataLength, TInt aWinHandle);
       
   975 	TInt tfxCmd;
       
   976 	TInt tfxCmdDataLength;
       
   977 	TInt windowHandle;
       
   978 	};
       
   979 struct TWsClCmdRegisterEffect
       
   980     {
       
   981     inline TWsClCmdRegisterEffect(TInt aAction, TUint aAppUid, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize);
       
   982     TInt tfxAction;
       
   983     TUint tfxAppUid;
       
   984     TInt tfxDirStrSize;
       
   985     TInt tfxPhase1StrSize;
       
   986     TInt tfxPhase2StrSize;
       
   987     };
       
   988 struct TWsClCmdOverrideEffect
       
   989     {
       
   990     inline TWsClCmdOverrideEffect(TBool aOneShot, TInt aAction, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize);
       
   991     TBool tfxOneShot;
       
   992     TInt tfxAction;
       
   993     TInt tfxDirStrSize;
       
   994     TInt tfxPhase1StrSize;
       
   995     TInt tfxPhase2StrSize;
       
   996     };
   961 typedef TRequestStatus *RqStatPtr;
   997 typedef TRequestStatus *RqStatPtr;
   962 union TWsClCmdUnion
   998 union TWsClCmdUnion
   963 	{
   999 	{
   964 	const TAny *any;
  1000 	const TAny* any;
   965 	const TAny **pAny;
  1001 	const TAny** pAny;
   966 	const TInt *Int;
  1002 	const TInt* Int;
   967 	const TUint *UInt;
  1003 	const TUint* UInt;
   968 	const TBool *Bool;
  1004 	const TBool* Bool;
   969 	const TUid *Uid;
  1005 	const TUid* Uid;
   970 	const TPointerCursorMode *Mode;
  1006 	const TPointerCursorMode* Mode;
   971 	const TXYInputType *XyInput;
  1007     const TInt *XyInput;
   972 	const TPoint *Point;
  1008 	const TPoint* Point;
   973 	const TRgb *rgb;
  1009 	const TRgb* rgb;
   974 	const RqStatPtr *RequestStatus;
  1010 	const RqStatPtr* RequestStatus;
   975 	const TRawEvent *RawEvent;
  1011 	const TRawEvent* RawEvent;
   976 	const TKeyEvent *KeyEvent;
  1012 	const TKeyEvent* KeyEvent;
   977 	const RWsSession::TComputeMode *ComputeMode;
  1013 	const RWsSession::TComputeMode* ComputeMode;
   978 	const RWsSession::TLoggingCommand *LogCommand;
  1014 	const RWsSession::TLoggingCommand* LogCommand;
   979 	const TWsClCmdCreateWindow *CreateWindow;
  1015 	const TWsClCmdCreateWindow* CreateWindow;
   980 	const TWsClCmdCreateWindowGroup *CreateWindowGroup;
  1016 	const TWsClCmdCreateWindowGroup* CreateWindowGroup;
   981 	const TWsClCmdLoadAnimDll *LoadAnimDll;
  1017 	const TWsClCmdLoadAnimDll* LoadAnimDll;
   982 	const TWsClCmdCreatePointerCursor *CreatePointerCursor;
  1018 	const TWsClCmdCreatePointerCursor* CreatePointerCursor;
   983 	const TWsClCmdCustomTextCursorData *CustomTextCursorData;
  1019 	const TWsClCmdCustomTextCursorData* CustomTextCursorData;
   984 	const TWsClCmdCreateSprite *CreateSprite;
  1020 	const TWsClCmdCreateSprite* CreateSprite;
   985 	const TWsClCmdCreateBitmap *CreateBitmap;
  1021 	const TWsClCmdCreateBitmap* CreateBitmap;
   986 	const TWsClCmdSetHotKey *SetHotKey;
  1022 	const TWsClCmdSetHotKey* SetHotKey;
   987 	const TWsClCmdWindowGroupList *WindowGroupList;
  1023 	const TWsClCmdWindowGroupList* WindowGroupList;
   988 	const TWsClCmdSetWindowGroupOrdinalPosition *SetWindowGroupOrdinalPosition;
  1024 	const TWsClCmdSetWindowGroupOrdinalPosition* SetWindowGroupOrdinalPosition;
   989 	const TWsClCmdSetKeyboardRepeatRate *SetKeyboardRepeatRate;
  1025 	const TWsClCmdSetKeyboardRepeatRate* SetKeyboardRepeatRate;
   990 	const TWsClCmdHeapSetFail *HeapSetFail; 
  1026 	const TWsClCmdHeapSetFail* HeapSetFail;
   991 	const TWsClCmdSetDoubleClick *SetDoubleClick;
  1027 	const TWsClCmdSetDoubleClick* SetDoubleClick;
   992 	const TWsClCmdSetSystemPointerCursor *SetSystemPointerCursor;
  1028 	const TWsClCmdSetSystemPointerCursor* SetSystemPointerCursor;
   993 	const TWsClCmdSendEventToWindowGroup *SendEventToWindowGroup;
  1029 	const TWsClCmdSendEventToWindowGroup* SendEventToWindowGroup;
   994 	const TWsClCmdSendMessageToWindowGroup *SendMessageToWindowGroup;
  1030 	const TWsClCmdSendMessageToWindowGroup* SendMessageToWindowGroup;
   995 	const TWsClCmdFetchMessage* FetchMessage;
  1031 	const TWsClCmdFetchMessage* FetchMessage;
   996 	const TWsClCmdFindWindowGroupIdentifier *FindWindowGroupIdentifier;
  1032 	const TWsClCmdFindWindowGroupIdentifier* FindWindowGroupIdentifier;
   997 	const TWsClCmdFindWindowGroupIdentifierThread *FindWindowGroupIdentifierThread;
  1033 	const TWsClCmdFindWindowGroupIdentifierThread* FindWindowGroupIdentifierThread;
   998 	const TWsClCmdGetWindowGroupNameFromIdentifier *GetWindowGroupNameFromIdentifier;
  1034 	const TWsClCmdGetWindowGroupNameFromIdentifier* GetWindowGroupNameFromIdentifier;
   999 	const TWsClCmdOffEventsToShell *OffEventsToShell;
  1035 	const TWsClCmdOffEventsToShell* OffEventsToShell;
  1000 	const TWsClCmdSetModifierState *SetModifierState;
  1036 	const TWsClCmdSetModifierState* SetModifierState;
  1001 	const TWsClCmdSetPointerCursorArea *SetPointerCursorArea;
  1037 	const TWsClCmdSetPointerCursorArea* SetPointerCursorArea;
  1002 	const TWsClCmdSetSystemFaded *SetSystemFaded;
  1038 	const TWsClCmdSetSystemFaded* SetSystemFaded;
  1003 	const TWsClCmdCreateGraphic* CreateGraphic;
  1039 	const TWsClCmdCreateGraphic* CreateGraphic;
  1004 	const TWsClCmdGdSendMessage* GraphicSendMessage;
  1040 	const TWsClCmdGdSendMessage* GraphicSendMessage;
  1005 	const TWsClCmdGdGetId* GetGraphicId;
  1041 	const TWsClCmdGdGetId* GetGraphicId;
  1006 	const TWsClCmdDebugInfo* DebugInfo;
  1042 	const TWsClCmdDebugInfo* DebugInfo;
  1007 	const TWsClCmdSurfaceRegister* SurfaceRegister;
  1043 	const TWsClCmdSurfaceRegister* SurfaceRegister;
  1008 	const TWsClCmdNumWindowGroups *NumWinGroups;
  1044 	const TWsClCmdNumWindowGroups* NumWinGroups;
  1009 	const TWsClCmdCreateScreenDevice *CreateScreenDevice;
  1045 	const TWsClCmdCreateScreenDevice* CreateScreenDevice;
  1010 	const TWsClCmdZThresholdPair *ZThresholdPair;
  1046 	const TWsClCmdZThresholdPair* ZThresholdPair;
  1011 	const TWsClCmdCreateDrawableSource* CreateDrawableSource;
  1047 	const TWsClCmdCreateDrawableSource* CreateDrawableSource;
       
  1048 	const TWsClCmdSendEffectCommand* SendEffectCommand;
       
  1049 	const TWsClCmdRegisterEffect* RegisterEffect;
       
  1050 	const TWsClCmdOverrideEffect* OverrideEffect;
  1012 	};
  1051 	};
  1013 
  1052 
  1014 // Window command structures
  1053 // Window command structures
  1015 
  1054 
  1016 struct TWsWinCmdSetExtent
  1055 struct TWsWinCmdSetExtent
  1217 	const TWsWinCmdEnableModifierChangedEvents *EnableModifierChangedEvents;
  1256 	const TWsWinCmdEnableModifierChangedEvents *EnableModifierChangedEvents;
  1218 	const TWsWinCmdSetFaded *SetFaded;
  1257 	const TWsWinCmdSetFaded *SetFaded;
  1219 	const TSurfaceId *Surface;
  1258 	const TSurfaceId *Surface;
  1220 	const TWsWinCmdCancelPointerRepeatEventRequest *CancelPointerRepeatEventRequest;
  1259 	const TWsWinCmdCancelPointerRepeatEventRequest *CancelPointerRepeatEventRequest;
  1221 	const TWsWinCmdGrabControl *GrabControl;
  1260 	const TWsWinCmdGrabControl *GrabControl;
       
  1261 	const TWsClCmdSendEffectCommand *SendEffectCommand;
       
  1262 	const TWsClCmdOverrideEffect* OverrideEffect;
  1222 	};
  1263 	};
  1223 
  1264 
  1224 // GC command structures
  1265 // GC command structures
  1225 
  1266 
  1226 struct TWsGcLargeStruct
  1267 struct TWsGcLargeStruct
  1946 	EW32PanicFunctionNotSupported,	//Operation not supported in the current OS distribution
  1987 	EW32PanicFunctionNotSupported,	//Operation not supported in the current OS distribution
  1947 	EW32PanicInvalidParameter,		// Raised when an invalid parameter is passed to a function 
  1988 	EW32PanicInvalidParameter,		// Raised when an invalid parameter is passed to a function 
  1948 	EW32PanicGraphicDoubleConstruction,		//Raised when Construct() is called on an already constructed client-side object
  1989 	EW32PanicGraphicDoubleConstruction,		//Raised when Construct() is called on an already constructed client-side object
  1949 	EW32PanicBadClientInterface,	//Debug: Trying to use an interface that is not initialised 
  1990 	EW32PanicBadClientInterface,	//Debug: Trying to use an interface that is not initialised 
  1950 	EW32PanicSizeNotExpected,		//Debug: Returned data does not match expected sizes or granularity
  1991 	EW32PanicSizeNotExpected,		//Debug: Returned data does not match expected sizes or granularity
       
  1992 	EW32PanicStringTooLong,			//A string is longer than it is allowed to be
  1951 	};
  1993 	};
  1952 
  1994 
  1953 enum WservShutdown
  1995 enum WservShutdown
  1954 	{EWservShutdownCheck=0x13572468};	// Parameter to EWservMessShutdown to stop accidental shutdowns
  1996 	{EWservShutdownCheck=0x13572468};	// Parameter to EWservMessShutdown to stop accidental shutdowns
  1955 
  1997 
  2224 inline TBool TWsWinCmdRequestPointerRepeatEvent::HasPointerNumber() const
  2266 inline TBool TWsWinCmdRequestPointerRepeatEvent::HasPointerNumber() const
  2225 	{return KErrNotFound!=pointerNumber;}
  2267 	{return KErrNotFound!=pointerNumber;}
  2226 inline TWsClCmdZThresholdPair::TWsClCmdZThresholdPair(const TInt aEnterThreshold, const TInt aExitThreshold)
  2268 inline TWsClCmdZThresholdPair::TWsClCmdZThresholdPair(const TInt aEnterThreshold, const TInt aExitThreshold)
  2227 :	enterThreshold(aEnterThreshold),exitThreshold(aExitThreshold)
  2269 :	enterThreshold(aEnterThreshold),exitThreshold(aExitThreshold)
  2228 	{}
  2270 	{}
       
  2271 inline TWsClCmdSendEffectCommand::TWsClCmdSendEffectCommand(TInt aTfxCmd,TInt aTfxCmdDataLength, TInt aWinHandle) :
       
  2272     tfxCmd(aTfxCmd), tfxCmdDataLength(aTfxCmdDataLength), windowHandle(aWinHandle)
       
  2273 	{}
       
  2274 inline TWsClCmdRegisterEffect::TWsClCmdRegisterEffect(TInt aAction, TUint aAppUid, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize) :
       
  2275 	tfxAction(aAction), tfxAppUid(aAppUid), tfxDirStrSize(aDirStrSize), tfxPhase1StrSize(aPhase1StrSize), tfxPhase2StrSize(aPhase2StrSize)
       
  2276 	{}
       
  2277 inline TWsClCmdOverrideEffect::TWsClCmdOverrideEffect(TBool aOneShot, TInt aAction, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize) :
       
  2278 	tfxOneShot(aOneShot), tfxAction(aAction), tfxDirStrSize(aDirStrSize), tfxPhase1StrSize(aPhase1StrSize), tfxPhase2StrSize(aPhase2StrSize)
       
  2279 	{}
  2229 inline TWsWinCmdAddKeyRect::TWsWinCmdAddKeyRect(const TRect &aRect,TInt aScanCode, TBool aActivatedByPointerSwitchOn) :
  2280 inline TWsWinCmdAddKeyRect::TWsWinCmdAddKeyRect(const TRect &aRect,TInt aScanCode, TBool aActivatedByPointerSwitchOn) :
  2230 	rect(aRect), scanCode(aScanCode), activatedByPointerSwitchOn(aActivatedByPointerSwitchOn)
  2281 	rect(aRect), scanCode(aScanCode), activatedByPointerSwitchOn(aActivatedByPointerSwitchOn)
  2231 	{}
  2282 	{}
  2232 #if defined(SYMBIAN_GRAPHICS_GCE)
  2283 #if defined(SYMBIAN_GRAPHICS_GCE)
  2233 inline TWsWinOpSetBackgroundSurfaceConfig::TWsWinOpSetBackgroundSurfaceConfig(const TSurfaceConfiguration& aConfiguration, TBool aTriggerRedraw) :
  2284 inline TWsWinOpSetBackgroundSurfaceConfig::TWsWinOpSetBackgroundSurfaceConfig(const TSurfaceConfiguration& aConfiguration, TBool aTriggerRedraw) :