1 // Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies). |
1 // Copyright (c) 2001-2009 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 the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members |
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.symbianfoundation.org/legal/licencesv10.html". |
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html". |
7 // |
7 // |
8 // Initial Contributors: |
8 // Initial Contributors: |
9 // Nokia Corporation - initial contribution. |
9 // Nokia Corporation - initial contribution. |
10 // |
10 // |
11 // Contributors: |
11 // Contributors: |
26 #endif |
26 #endif |
27 #ifndef __W32STD_H__ |
27 #ifndef __W32STD_H__ |
28 #include <w32std.h> |
28 #include <w32std.h> |
29 #endif |
29 #endif |
30 |
30 |
|
31 #ifndef SYMBIAN_ENABLE_SPLIT_HEADERS |
|
32 #include <graphics/pointereventdata.h> |
|
33 #endif //SYMBIAN_ENABLE_SPLIT_HEADERS |
31 |
34 |
32 class CClickMaker: public CBase |
35 class CClickMaker: public CBase |
33 /** Key or pointer click plug-in provider interface. |
36 /** Key or pointer click plug-in provider interface. |
34 |
37 |
35 This class should be implemented by a plug-in DLL in order to produce a sound |
38 This class should be implemented by a plug-in DLL in order to produce a sound |
83 event relative to origin of the parent window. Instead it is the position |
86 event relative to origin of the parent window. Instead it is the position |
84 on the screen. This is because the parent window has no meaning inside the |
87 on the screen. This is because the parent window has no meaning inside the |
85 plug-in as it does to the window server client and also knowledge |
88 plug-in as it does to the window server client and also knowledge |
86 of the screen position may be useful to the plug-in. |
89 of the screen position may be useful to the plug-in. |
87 |
90 |
88 @param aEvent The pointer event details. */ |
91 On devices where these features are supported, aEvent will contain pointer number, |
|
92 proximity of the pointer to the screen and/or pressure applied by the pointer to the screen. |
|
93 In order to retrieve this information, implementation of this method should |
|
94 use TPointerEvent::AdvancedPointerEvent(). |
|
95 |
|
96 @param aEvent The pointer event details. |
|
97 @see TPointerEvent::AdvancedPointerEvent() */ |
89 virtual void PointerEvent(const TPointerEvent& aEvent)=0; |
98 virtual void PointerEvent(const TPointerEvent& aEvent)=0; |
90 |
99 |
91 /** This function is intended for future expansion of the interface, in case it |
100 /** This function is intended for future expansion of the interface, in case it |
92 needs to support sounds for other types of event. |
101 needs to support sounds for other types of event. |
93 |
102 |
134 */ |
143 */ |
135 { |
144 { |
136 TInt screenDeviceMode; |
145 TInt screenDeviceMode; |
137 }; |
146 }; |
138 |
147 |
139 class TPointerEventData |
|
140 /** |
|
141 Passed to a Key Click Plug-in using the function CClickMaker::OtherEvent when the |
|
142 aType value is EEventPointer. |
|
143 This includes information about the window the pointer event will be sent to. |
|
144 This is the normally the window being clicked on by the user, but pointer capturing |
|
145 and grabbing may affect this. |
|
146 |
|
147 @publishedAll |
|
148 @released |
|
149 */ |
|
150 { |
|
151 public: |
|
152 enum TSource |
|
153 /** |
|
154 A list of locations that WSERV receives events from |
|
155 */ |
|
156 { |
|
157 /** The source is not specified. */ |
|
158 EUnspecified, |
|
159 /** The event came from the kernel. */ |
|
160 EKernel, |
|
161 /** The event came from a client API. */ |
|
162 EClient, |
|
163 /** The event came from an Anim DLL. */ |
|
164 EAnimDLL, |
|
165 }; |
|
166 public: |
|
167 /** |
|
168 The version number of the data passed with EEventPointer, current always 0. |
|
169 */ |
|
170 TInt iVersion; |
|
171 /** |
|
172 The screen position of pointer event. |
|
173 */ |
|
174 TPoint iCurrentPos; |
|
175 /** |
|
176 The full pointer event data previously passed to the CClickMaker::PointerEvent function, |
|
177 except that the iParentPosition will be the actual parent position, when previously passed |
|
178 to the plug-in this value was the screen position. |
|
179 */ |
|
180 TPointerEvent iPointerEvent; |
|
181 /** |
|
182 The client handle of the window or zero if the window is not a client window. |
|
183 */ |
|
184 TUint32 iClientHandle; |
|
185 /** |
|
186 The current top left of the window on the screen. |
|
187 */ |
|
188 TPoint iWindowOrigin; |
|
189 /** |
|
190 The Window Group Identifier of the window group that is a parent (or grand parent etc.) |
|
191 of the window the event is sent to or zero if the window is not a client window. |
|
192 */ |
|
193 TInt iWindowGroupId; |
|
194 /** |
|
195 The source that WSERV recieves the event from, |
|
196 currently set to EUnspecified as this is for future expansion. |
|
197 */ |
|
198 TSource iSource; |
|
199 }; |
|
200 |
|
201 class TGroupWindowOpenData |
148 class TGroupWindowOpenData |
202 /** |
149 /** |
203 Passed to a Key Click Plug-in using the function CClickMaker::OtherEvent when the |
150 Passed to a Key Click Plug-in using the function CClickMaker::OtherEvent when the |
204 aType value is EEventGroupWindowOpen. |
151 aType value is EEventGroupWindowOpen. |
205 |
152 |