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, |
|
269 EWsClOpIndicateAppOrientation, |
262 EWsClOpLastEnumValue //Keep this at the end - used by test code |
270 EWsClOpLastEnumValue //Keep this at the end - used by test code |
263 }; |
271 }; |
264 |
272 |
265 // Graphic Drawer opcodes |
273 // Graphic Drawer opcodes |
266 |
274 |
424 EWsWinOpGetBackgroundSurfaceConfig=EWsWinOpRemoveBackgroundSurface+2, //One message removed |
432 EWsWinOpGetBackgroundSurfaceConfig=EWsWinOpRemoveBackgroundSurface+2, //One message removed |
425 EWsWinOpClearRedrawStore=EWsWinOpGetBackgroundSurfaceConfig+2, //One message removed |
433 EWsWinOpClearRedrawStore=EWsWinOpGetBackgroundSurfaceConfig+2, //One message removed |
426 EWsWinOpScreenNumber, |
434 EWsWinOpScreenNumber, |
427 EWsWinOpEnableAdvancedPointers, |
435 EWsWinOpEnableAdvancedPointers, |
428 #ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS |
436 #ifdef SYMBIAN_GRAPHICS_WSERV_QT_EFFECTS |
429 EWsWinOpSetSurfaceTransparency=EWsWinOpEnableAdvancedPointers+1, // Explicit offset to prevent clash with EWsWinOpFixNativeOrientation |
437 EWsWinOpSetSurfaceTransparency, |
430 #endif |
438 #endif |
431 #ifdef SYMBIAN_GRAPHICS_FIXNATIVEORIENTATION |
439 EWsWinOpSetPurpose, |
432 EWsWinOpFixNativeOrientation=EWsWinOpEnableAdvancedPointers+2, // Offset to prevent clash with EWsWinOpSetSurfaceTransparency |
440 EWsWinOpSendEffectCommand, |
433 #endif // SYMBIAN_GRAPHICS_FIXNATIVEORIENTATION |
441 EWsWinOpOverrideEffectBuf, |
|
442 EWsWinOpOverrideEffectIPC, |
434 EWsWinOpTestLowPriorityRedraw=0x2000, //Specific opcode for testing redraw queue priorities |
443 EWsWinOpTestLowPriorityRedraw=0x2000, //Specific opcode for testing redraw queue priorities |
435 }; |
444 }; |
436 |
445 |
437 // GC opcodes |
446 // GC opcodes |
438 |
447 |
959 { |
968 { |
960 inline TWsClCmdZThresholdPair(const TInt aEnterThreshold, const TInt aExitThreshold); |
969 inline TWsClCmdZThresholdPair(const TInt aEnterThreshold, const TInt aExitThreshold); |
961 TInt enterThreshold; |
970 TInt enterThreshold; |
962 TInt exitThreshold; |
971 TInt exitThreshold; |
963 }; |
972 }; |
|
973 struct TWsClCmdSendEffectCommand |
|
974 { |
|
975 inline TWsClCmdSendEffectCommand(TInt aTfxCmd,TInt aTfxCmdDataLength, TInt aWinHandle); |
|
976 TInt tfxCmd; |
|
977 TInt tfxCmdDataLength; |
|
978 TInt windowHandle; |
|
979 }; |
|
980 struct TWsClCmdRegisterEffect |
|
981 { |
|
982 inline TWsClCmdRegisterEffect(TInt aAction, TInt aPurpose, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize, TUint aAppUid, TBitFlags aFlags); |
|
983 TInt tfxAction; |
|
984 TInt tfxPurpose; |
|
985 TInt tfxDirStrSize; |
|
986 TInt tfxPhase1StrSize; |
|
987 TInt tfxPhase2StrSize; |
|
988 TUint tfxAppUid; |
|
989 TBitFlags tfxFlags; |
|
990 }; |
|
991 struct TWsClCmdUnRegisterEffect |
|
992 { |
|
993 inline TWsClCmdUnRegisterEffect(TInt aAction, TInt aPurpose, TUint aAppUid); |
|
994 TInt tfxAction; |
|
995 TInt tfxPurpose; |
|
996 TUint tfxAppUid; |
|
997 }; |
|
998 struct TWsClCmdOverrideEffect |
|
999 { |
|
1000 inline TWsClCmdOverrideEffect(TInt aAction, TInt aPurpose, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize, TBitFlags aFlags); |
|
1001 TInt tfxAction; |
|
1002 TInt tfxPurpose; |
|
1003 TInt tfxDirStrSize; |
|
1004 TInt tfxPhase1StrSize; |
|
1005 TInt tfxPhase2StrSize; |
|
1006 TBitFlags tfxFlags; |
|
1007 }; |
964 typedef TRequestStatus *RqStatPtr; |
1008 typedef TRequestStatus *RqStatPtr; |
965 union TWsClCmdUnion |
1009 union TWsClCmdUnion |
966 { |
1010 { |
967 const TAny *any; |
1011 const TAny* any; |
968 const TAny **pAny; |
1012 const TAny** pAny; |
969 const TInt *Int; |
1013 const TInt* Int; |
970 const TUint *UInt; |
1014 const TUint* UInt; |
971 const TBool *Bool; |
1015 const TBool* Bool; |
972 const TUid *Uid; |
1016 const TUid* Uid; |
973 const TPointerCursorMode *Mode; |
1017 const TPointerCursorMode* Mode; |
974 const TInt *XyInput; |
1018 const TInt *XyInput; |
975 const TPoint *Point; |
1019 const TPoint* Point; |
976 const TRgb *rgb; |
1020 const TRgb* rgb; |
977 const RqStatPtr *RequestStatus; |
1021 const RqStatPtr* RequestStatus; |
978 const TRawEvent *RawEvent; |
1022 const TRawEvent* RawEvent; |
979 const TKeyEvent *KeyEvent; |
1023 const TKeyEvent* KeyEvent; |
980 const RWsSession::TComputeMode *ComputeMode; |
1024 const RWsSession::TComputeMode* ComputeMode; |
981 const RWsSession::TLoggingCommand *LogCommand; |
1025 const RWsSession::TLoggingCommand* LogCommand; |
982 const TWsClCmdCreateWindow *CreateWindow; |
1026 const TWsClCmdCreateWindow* CreateWindow; |
983 const TWsClCmdCreateWindowGroup *CreateWindowGroup; |
1027 const TWsClCmdCreateWindowGroup* CreateWindowGroup; |
984 const TWsClCmdLoadAnimDll *LoadAnimDll; |
1028 const TWsClCmdLoadAnimDll* LoadAnimDll; |
985 const TWsClCmdCreatePointerCursor *CreatePointerCursor; |
1029 const TWsClCmdCreatePointerCursor* CreatePointerCursor; |
986 const TWsClCmdCustomTextCursorData *CustomTextCursorData; |
1030 const TWsClCmdCustomTextCursorData* CustomTextCursorData; |
987 const TWsClCmdCreateSprite *CreateSprite; |
1031 const TWsClCmdCreateSprite* CreateSprite; |
988 const TWsClCmdCreateBitmap *CreateBitmap; |
1032 const TWsClCmdCreateBitmap* CreateBitmap; |
989 const TWsClCmdSetHotKey *SetHotKey; |
1033 const TWsClCmdSetHotKey* SetHotKey; |
990 const TWsClCmdWindowGroupList *WindowGroupList; |
1034 const TWsClCmdWindowGroupList* WindowGroupList; |
991 const TWsClCmdSetWindowGroupOrdinalPosition *SetWindowGroupOrdinalPosition; |
1035 const TWsClCmdSetWindowGroupOrdinalPosition* SetWindowGroupOrdinalPosition; |
992 const TWsClCmdSetKeyboardRepeatRate *SetKeyboardRepeatRate; |
1036 const TWsClCmdSetKeyboardRepeatRate* SetKeyboardRepeatRate; |
993 const TWsClCmdHeapSetFail *HeapSetFail; |
1037 const TWsClCmdHeapSetFail* HeapSetFail; |
994 const TWsClCmdSetDoubleClick *SetDoubleClick; |
1038 const TWsClCmdSetDoubleClick* SetDoubleClick; |
995 const TWsClCmdSetSystemPointerCursor *SetSystemPointerCursor; |
1039 const TWsClCmdSetSystemPointerCursor* SetSystemPointerCursor; |
996 const TWsClCmdSendEventToWindowGroup *SendEventToWindowGroup; |
1040 const TWsClCmdSendEventToWindowGroup* SendEventToWindowGroup; |
997 const TWsClCmdSendMessageToWindowGroup *SendMessageToWindowGroup; |
1041 const TWsClCmdSendMessageToWindowGroup* SendMessageToWindowGroup; |
998 const TWsClCmdFetchMessage* FetchMessage; |
1042 const TWsClCmdFetchMessage* FetchMessage; |
999 const TWsClCmdFindWindowGroupIdentifier *FindWindowGroupIdentifier; |
1043 const TWsClCmdFindWindowGroupIdentifier* FindWindowGroupIdentifier; |
1000 const TWsClCmdFindWindowGroupIdentifierThread *FindWindowGroupIdentifierThread; |
1044 const TWsClCmdFindWindowGroupIdentifierThread* FindWindowGroupIdentifierThread; |
1001 const TWsClCmdGetWindowGroupNameFromIdentifier *GetWindowGroupNameFromIdentifier; |
1045 const TWsClCmdGetWindowGroupNameFromIdentifier* GetWindowGroupNameFromIdentifier; |
1002 const TWsClCmdOffEventsToShell *OffEventsToShell; |
1046 const TWsClCmdOffEventsToShell* OffEventsToShell; |
1003 const TWsClCmdSetModifierState *SetModifierState; |
1047 const TWsClCmdSetModifierState* SetModifierState; |
1004 const TWsClCmdSetPointerCursorArea *SetPointerCursorArea; |
1048 const TWsClCmdSetPointerCursorArea* SetPointerCursorArea; |
1005 const TWsClCmdSetSystemFaded *SetSystemFaded; |
1049 const TWsClCmdSetSystemFaded* SetSystemFaded; |
1006 const TWsClCmdCreateGraphic* CreateGraphic; |
1050 const TWsClCmdCreateGraphic* CreateGraphic; |
1007 const TWsClCmdGdSendMessage* GraphicSendMessage; |
1051 const TWsClCmdGdSendMessage* GraphicSendMessage; |
1008 const TWsClCmdGdGetId* GetGraphicId; |
1052 const TWsClCmdGdGetId* GetGraphicId; |
1009 const TWsClCmdDebugInfo* DebugInfo; |
1053 const TWsClCmdDebugInfo* DebugInfo; |
1010 const TWsClCmdSurfaceRegister* SurfaceRegister; |
1054 const TWsClCmdSurfaceRegister* SurfaceRegister; |
1011 const TWsClCmdNumWindowGroups *NumWinGroups; |
1055 const TWsClCmdNumWindowGroups* NumWinGroups; |
1012 const TWsClCmdCreateScreenDevice *CreateScreenDevice; |
1056 const TWsClCmdCreateScreenDevice* CreateScreenDevice; |
1013 const TWsClCmdZThresholdPair *ZThresholdPair; |
1057 const TWsClCmdZThresholdPair* ZThresholdPair; |
1014 const TWsClCmdCreateDrawableSource* CreateDrawableSource; |
1058 const TWsClCmdCreateDrawableSource* CreateDrawableSource; |
|
1059 const TWsClCmdSendEffectCommand* SendEffectCommand; |
|
1060 const TWsClCmdRegisterEffect* RegisterEffect; |
|
1061 const TWsClCmdUnRegisterEffect* UnRegisterEffect; |
|
1062 const TWsClCmdOverrideEffect* OverrideEffect; |
|
1063 const TRenderOrientation* Orientation; |
1015 }; |
1064 }; |
1016 |
1065 |
1017 // Window command structures |
1066 // Window command structures |
1018 |
1067 |
1019 struct TWsWinCmdSetExtent |
1068 struct TWsWinCmdSetExtent |
1916 |
1967 |
1917 // Client side Panics and asserts |
1968 // Client side Panics and asserts |
1918 |
1969 |
1919 enum TW32Assert // used for w32 code errors |
1970 enum TW32Assert // used for w32 code errors |
1920 { |
1971 { |
1921 EW32AssertOddLengthData=0, |
1972 EW32AssertOddLengthData, |
1922 EW32AssertNotImplemented=1, |
1973 EW32AssertNotImplemented, |
1923 EW32AssertIllegalOpcode=2, |
1974 EW32AssertIllegalOpcode, |
1924 EW32AssertDirectMisuse=3, |
1975 EW32AssertDirectMisuse, |
1925 EW32AssertBufferLogic=4, |
1976 EW32AssertBufferLogic, |
1926 EW32AssertUnexpectedOutOfRangePointerNumber=5, // Used for an out-of-range pointer number error within the old API's which doesn't take a pointer number. |
1977 EW32AssertUnexpectedOutOfRangePointerNumber, // Used for an out-of-range pointer number error within the old API's which doesn't take a pointer number. |
1927 EW32AssertWindowSizeCacheFailure=6, |
1978 EW32AssertWindowSizeCacheFailure, |
1928 #ifdef SYMBIAN_GRAPHICS_FIXNATIVEORIENTATION |
|
1929 EW32AssertWindowNativeSizeCacheFailure=7, |
|
1930 EW32AssertInvalidOrientation=8, |
|
1931 #endif // SYMBIAN_GRAPHICS_FIXNATIVEORIENTATION |
|
1932 }; |
1979 }; |
1933 |
1980 |
1934 enum TW32Panic // used for application errors |
1981 enum TW32Panic // used for application errors |
1935 { |
1982 { |
1936 EW32PanicReConnect, //An attempt was made to reconnect to the window server using RWsSession::Connect() without having closed the existing one first |
1983 EW32PanicReConnect, //An attempt was made to reconnect to the window server using RWsSession::Connect() without having closed the existing one first |
2078 EWservPanicInvalidParameter=80, // General invalid parameter code for invariant checking |
2126 EWservPanicInvalidParameter=80, // General invalid parameter code for invariant checking |
2079 EWservPanicDrawableSource=81, // Invalid drawable source handle |
2127 EWservPanicDrawableSource=81, // Invalid drawable source handle |
2080 EWservPanicWrongScreen=82, // Child apps can only be constructed on the same screen as their parent. See RWindowGroup::ConstructChildApp |
2128 EWservPanicWrongScreen=82, // Child apps can only be constructed on the same screen as their parent. See RWindowGroup::ConstructChildApp |
2081 EWservPanicScreenCaptureInvalidRequest=83, // With Screen Capture disabled, an unexpected invalid request has been received |
2129 EWservPanicScreenCaptureInvalidRequest=83, // With Screen Capture disabled, an unexpected invalid request has been received |
2082 EWservPanicInvalidDisplayConfiguration=84, // Use of a display configuration without valid members |
2130 EWservPanicInvalidDisplayConfiguration=84, // Use of a display configuration without valid members |
2083 #ifdef SYMBIAN_GRAPHICS_FIXNATIVEORIENTATION |
2131 EWservPanicUnableToEnableAdvPointer=85, // Use when advanced pointers are enabled after an RWindow is activated |
2084 EWservPanicFixNativeOrientation=85, // Invalid use of FixNativeOrientation() |
|
2085 #endif // SYMBIAN_GRAPHICS_FIXNATIVEORIENTATION |
|
2086 }; |
2132 }; |
2087 |
2133 |
2088 #if defined(__WINS__) |
2134 #if defined(__WINS__) |
2089 // Under WINS character code is passed in as HIWORD of the scan code, |
2135 // Under WINS character code is passed in as HIWORD of the scan code, |
2090 // and will need to be removed in some situations |
2136 // and will need to be removed in some situations |
2091 #define __REMOVE_WINS_CHARCODE &0x0000FFFF |
2137 #define __REMOVE_WINS_CHARCODE &0x0000FFFF |
|
2138 #define __WINS_CHARCODE(c) ((c) & 0xFFFF0000) |
2092 #else |
2139 #else |
2093 #define __REMOVE_WINS_CHARCODE |
2140 #define __REMOVE_WINS_CHARCODE |
2094 #endif |
2141 #endif |
2095 |
2142 |
2096 class CDebugLogBase: public CBase |
2143 class CDebugLogBase: public CBase |
2234 inline TBool TWsWinCmdRequestPointerRepeatEvent::HasPointerNumber() const |
2281 inline TBool TWsWinCmdRequestPointerRepeatEvent::HasPointerNumber() const |
2235 {return KErrNotFound!=pointerNumber;} |
2282 {return KErrNotFound!=pointerNumber;} |
2236 inline TWsClCmdZThresholdPair::TWsClCmdZThresholdPair(const TInt aEnterThreshold, const TInt aExitThreshold) |
2283 inline TWsClCmdZThresholdPair::TWsClCmdZThresholdPair(const TInt aEnterThreshold, const TInt aExitThreshold) |
2237 : enterThreshold(aEnterThreshold),exitThreshold(aExitThreshold) |
2284 : enterThreshold(aEnterThreshold),exitThreshold(aExitThreshold) |
2238 {} |
2285 {} |
|
2286 inline TWsClCmdSendEffectCommand::TWsClCmdSendEffectCommand(TInt aTfxCmd,TInt aTfxCmdDataLength, TInt aWinHandle) : |
|
2287 tfxCmd(aTfxCmd), tfxCmdDataLength(aTfxCmdDataLength), windowHandle(aWinHandle) |
|
2288 {} |
|
2289 inline TWsClCmdRegisterEffect::TWsClCmdRegisterEffect(TInt aAction, TInt aPurpose, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize, TUint aAppUid, TBitFlags aFlags) : |
|
2290 tfxAction(aAction), tfxPurpose(aPurpose), tfxDirStrSize(aDirStrSize), tfxPhase1StrSize(aPhase1StrSize), tfxPhase2StrSize(aPhase2StrSize), tfxAppUid(aAppUid), tfxFlags(aFlags) |
|
2291 {} |
|
2292 inline TWsClCmdUnRegisterEffect::TWsClCmdUnRegisterEffect(TInt aAction, TInt aPurpose, TUint aAppUid) : |
|
2293 tfxAction(aAction), tfxPurpose(aPurpose), tfxAppUid(aAppUid) |
|
2294 {} |
|
2295 inline TWsClCmdOverrideEffect::TWsClCmdOverrideEffect(TInt aAction, TInt aPurpose, TInt aDirStrSize, TInt aPhase1StrSize, TInt aPhase2StrSize, TBitFlags aFlags) : |
|
2296 tfxAction(aAction), tfxPurpose(aPurpose), tfxDirStrSize(aDirStrSize), tfxPhase1StrSize(aPhase1StrSize), tfxPhase2StrSize(aPhase2StrSize), tfxFlags(aFlags) |
|
2297 {} |
2239 inline TWsWinCmdAddKeyRect::TWsWinCmdAddKeyRect(const TRect &aRect,TInt aScanCode, TBool aActivatedByPointerSwitchOn) : |
2298 inline TWsWinCmdAddKeyRect::TWsWinCmdAddKeyRect(const TRect &aRect,TInt aScanCode, TBool aActivatedByPointerSwitchOn) : |
2240 rect(aRect), scanCode(aScanCode), activatedByPointerSwitchOn(aActivatedByPointerSwitchOn) |
2299 rect(aRect), scanCode(aScanCode), activatedByPointerSwitchOn(aActivatedByPointerSwitchOn) |
2241 {} |
2300 {} |
2242 #if defined(SYMBIAN_GRAPHICS_GCE) |
2301 #if defined(SYMBIAN_GRAPHICS_GCE) |
2243 inline TWsWinOpSetBackgroundSurfaceConfig::TWsWinOpSetBackgroundSurfaceConfig(const TSurfaceConfiguration& aConfiguration, TBool aTriggerRedraw) : |
2302 inline TWsWinOpSetBackgroundSurfaceConfig::TWsWinOpSetBackgroundSurfaceConfig(const TSurfaceConfiguration& aConfiguration, TBool aTriggerRedraw) : |