Code

Modified filter rendering area handling to better accommodate upcoming feOffset
[inkscape.git] / src / dom / work / events.idl
1 /*
2  * Copyright (c) 2003 World Wide Web Consortium,
3  *
4  * (Massachusetts Institute of Technology, European Research Consortium for
5  * Informatics and Mathematics, Keio University). All Rights Reserved. This
6  * work is distributed under the W3C(r) Software License [1] in the hope that
7  * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
8  * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
9  *
10  * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
11  */
13 // File: http://www.w3.org/TR/2003/NOTE-DOM-Level-3-Events-20031107/events.idl
15 #ifndef _EVENTS_IDL_
16 #define _EVENTS_IDL_
18 #include "dom.idl"
19 #include "views.idl"
21 #pragma prefix "dom.w3c.org"
22 module events
23 {
25   typedef dom::DOMString DOMString;
26   typedef dom::DOMTimeStamp DOMTimeStamp;
27   typedef dom::DOMObject DOMObject;
28   typedef dom::Node Node;
30   interface EventTarget;
31   interface EventListener;
33   // Introduced in DOM Level 2:
34   exception EventException {
35     unsigned short   code;
36   };
37   // EventExceptionCode
38   const unsigned short      UNSPECIFIED_EVENT_TYPE_ERR     = 0;
39   // Introduced in DOM Level 3:
40   const unsigned short      DISPATCH_REQUEST_ERR           = 1;
43   // Introduced in DOM Level 2:
44   interface Event {
46     // PhaseType
47     const unsigned short      CAPTURING_PHASE                = 1;
48     const unsigned short      AT_TARGET                      = 2;
49     const unsigned short      BUBBLING_PHASE                 = 3;
51     readonly attribute DOMString       type;
52     readonly attribute EventTarget     target;
53     readonly attribute EventTarget     currentTarget;
54     readonly attribute unsigned short  eventPhase;
55     readonly attribute boolean         bubbles;
56     readonly attribute boolean         cancelable;
57     readonly attribute DOMTimeStamp    timeStamp;
58     void               stopPropagation();
59     void               preventDefault();
60     void               initEvent(in DOMString eventTypeArg, 
61                                  in boolean canBubbleArg, 
62                                  in boolean cancelableArg);
63     // Introduced in DOM Level 3:
64     readonly attribute DOMString       namespaceURI;
65     // Introduced in DOM Level 3:
66     boolean            isCustom();
67     // Introduced in DOM Level 3:
68     void               stopImmediatePropagation();
69     // Introduced in DOM Level 3:
70     boolean            isDefaultPrevented();
71     // Introduced in DOM Level 3:
72     void               initEventNS(in DOMString namespaceURIArg, 
73                                    in DOMString eventTypeArg, 
74                                    in boolean canBubbleArg, 
75                                    in boolean cancelableArg);
76   };
78   // Introduced in DOM Level 2:
79   interface EventTarget {
80     void               addEventListener(in DOMString type, 
81                                         in EventListener listener, 
82                                         in boolean useCapture);
83     void               removeEventListener(in DOMString type, 
84                                            in EventListener listener, 
85                                            in boolean useCapture);
86     // Modified in DOM Level 3:
87     boolean            dispatchEvent(in Event evt)
88                                         raises(EventException);
89     // Introduced in DOM Level 3:
90     void               addEventListenerNS(in DOMString namespaceURI, 
91                                           in DOMString type, 
92                                           in EventListener listener, 
93                                           in boolean useCapture, 
94                                           in DOMObject evtGroup);
95     // Introduced in DOM Level 3:
96     void               removeEventListenerNS(in DOMString namespaceURI, 
97                                              in DOMString type, 
98                                              in EventListener listener, 
99                                              in boolean useCapture);
100     // Introduced in DOM Level 3:
101     boolean            willTriggerNS(in DOMString namespaceURI, 
102                                      in DOMString type);
103     // Introduced in DOM Level 3:
104     boolean            hasEventListenerNS(in DOMString namespaceURI, 
105                                           in DOMString type);
106   };
108   // Introduced in DOM Level 2:
109   interface EventListener {
110     void               handleEvent(in Event evt);
111   };
113   // Introduced in DOM Level 2:
114   interface DocumentEvent {
115     Event              createEvent(in DOMString eventType)
116                                         raises(dom::DOMException);
117     // Introduced in DOM Level 3:
118     boolean            canDispatch(in DOMString namespaceURI, 
119                                    in DOMString type);
120   };
122   // Introduced in DOM Level 3:
123   interface CustomEvent : Event {
124     void               setDispatchState(in EventTarget target, 
125                                         in unsigned short phase);
126     boolean            isPropagationStopped();
127     boolean            isImmediatePropagationStopped();
128   };
130   // Introduced in DOM Level 2:
131   interface UIEvent : Event {
132     readonly attribute views::AbstractView view;
133     readonly attribute long            detail;
134     void               initUIEvent(in DOMString typeArg, 
135                                    in boolean canBubbleArg, 
136                                    in boolean cancelableArg, 
137                                    in views::AbstractView viewArg, 
138                                    in long detailArg);
139     // Introduced in DOM Level 3:
140     void               initUIEventNS(in DOMString namespaceURI, 
141                                      in DOMString typeArg, 
142                                      in boolean canBubbleArg, 
143                                      in boolean cancelableArg, 
144                                      in views::AbstractView viewArg, 
145                                      in long detailArg);
146   };
148   // Introduced in DOM Level 3:
149   interface TextEvent : UIEvent {
150     readonly attribute DOMString       data;
151     void               initTextEvent(in DOMString typeArg, 
152                                      in boolean canBubbleArg, 
153                                      in boolean cancelableArg, 
154                                      in views::AbstractView viewArg, 
155                                      in DOMString dataArg);
156     void               initTextEventNS(in DOMString namespaceURI, 
157                                        in DOMString type, 
158                                        in boolean canBubbleArg, 
159                                        in boolean cancelableArg, 
160                                        in views::AbstractView viewArg, 
161                                        in DOMString dataArg);
162   };
164   // Introduced in DOM Level 2:
165   interface MouseEvent : UIEvent {
166     readonly attribute long            screenX;
167     readonly attribute long            screenY;
168     readonly attribute long            clientX;
169     readonly attribute long            clientY;
170     readonly attribute boolean         ctrlKey;
171     readonly attribute boolean         shiftKey;
172     readonly attribute boolean         altKey;
173     readonly attribute boolean         metaKey;
174     readonly attribute unsigned short  button;
175     readonly attribute EventTarget     relatedTarget;
176     void               initMouseEvent(in DOMString typeArg, 
177                                       in boolean canBubbleArg, 
178                                       in boolean cancelableArg, 
179                                       in views::AbstractView viewArg, 
180                                       in long detailArg, 
181                                       in long screenXArg, 
182                                       in long screenYArg, 
183                                       in long clientXArg, 
184                                       in long clientYArg, 
185                                       in boolean ctrlKeyArg, 
186                                       in boolean altKeyArg, 
187                                       in boolean shiftKeyArg, 
188                                       in boolean metaKeyArg, 
189                                       in unsigned short buttonArg, 
190                                       in EventTarget relatedTargetArg);
191     // Introduced in DOM Level 3:
192     boolean            getModifierState(in DOMString keyIdentifierArg);
193     // Introduced in DOM Level 3:
194     void               initMouseEventNS(in DOMString namespaceURI, 
195                                         in DOMString typeArg, 
196                                         in boolean canBubbleArg, 
197                                         in boolean cancelableArg, 
198                                         in views::AbstractView viewArg, 
199                                         in long detailArg, 
200                                         in long screenXArg, 
201                                         in long screenYArg, 
202                                         in long clientXArg, 
203                                         in long clientYArg, 
204                                         in unsigned short buttonArg, 
205                                         in EventTarget relatedTargetArg, 
206                                         in DOMString modifiersList);
207   };
209   // Introduced in DOM Level 3:
210   interface KeyboardEvent : UIEvent {
212     // KeyLocationCode
213     const unsigned long       DOM_KEY_LOCATION_STANDARD      = 0x00;
214     const unsigned long       DOM_KEY_LOCATION_LEFT          = 0x01;
215     const unsigned long       DOM_KEY_LOCATION_RIGHT         = 0x02;
216     const unsigned long       DOM_KEY_LOCATION_NUMPAD        = 0x03;
218     readonly attribute DOMString       keyIdentifier;
219     readonly attribute unsigned long   keyLocation;
220     readonly attribute boolean         ctrlKey;
221     readonly attribute boolean         shiftKey;
222     readonly attribute boolean         altKey;
223     readonly attribute boolean         metaKey;
224     boolean            getModifierState(in DOMString keyIdentifierArg);
225     void               initKeyboardEvent(in DOMString typeArg, 
226                                          in boolean canBubbleArg, 
227                                          in boolean cancelableArg, 
228                                          in views::AbstractView viewArg, 
229                                          in DOMString keyIdentifierArg, 
230                                          in unsigned long keyLocationArg, 
231                                          in DOMString modifiersList);
232     void               initKeyboardEventNS(in DOMString namespaceURI, 
233                                            in DOMString typeArg, 
234                                            in boolean canBubbleArg, 
235                                            in boolean cancelableArg, 
236                                            in views::AbstractView viewArg, 
237                                            in DOMString keyIdentifierArg, 
238                                            in unsigned long keyLocationArg, 
239                                            in DOMString modifiersList);
240   };
242   // Introduced in DOM Level 2:
243   interface MutationEvent : Event {
245     // attrChangeType
246     const unsigned short      MODIFICATION                   = 1;
247     const unsigned short      ADDITION                       = 2;
248     const unsigned short      REMOVAL                        = 3;
250     readonly attribute Node            relatedNode;
251     readonly attribute DOMString       prevValue;
252     readonly attribute DOMString       newValue;
253     readonly attribute DOMString       attrName;
254     readonly attribute unsigned short  attrChange;
255     void               initMutationEvent(in DOMString typeArg, 
256                                          in boolean canBubbleArg, 
257                                          in boolean cancelableArg, 
258                                          in Node relatedNodeArg, 
259                                          in DOMString prevValueArg, 
260                                          in DOMString newValueArg, 
261                                          in DOMString attrNameArg, 
262                                          in unsigned short attrChangeArg);
263     // Introduced in DOM Level 3:
264     void               initMutationEventNS(in DOMString namespaceURI, 
265                                            in DOMString typeArg, 
266                                            in boolean canBubbleArg, 
267                                            in boolean cancelableArg, 
268                                            in Node relatedNodeArg, 
269                                            in DOMString prevValueArg, 
270                                            in DOMString newValueArg, 
271                                            in DOMString attrNameArg, 
272                                            in unsigned short attrChangeArg);
273   };
275   // Introduced in DOM Level 3:
276   interface MutationNameEvent : MutationEvent {
277     readonly attribute DOMString       prevNamespaceURI;
278     readonly attribute DOMString       prevNodeName;
279     // Introduced in DOM Level 3:
280     void               initMutationNameEvent(in DOMString typeArg, 
281                                              in boolean canBubbleArg, 
282                                              in boolean cancelableArg, 
283                                              in Node relatedNodeArg, 
284                                              in DOMString prevNamespaceURIArg, 
285                                              in DOMString prevNodeNameArg);
286     // Introduced in DOM Level 3:
287     void               initMutationNameEventNS(in DOMString namespaceURI, 
288                                                in DOMString typeArg, 
289                                                in boolean canBubbleArg, 
290                                                in boolean cancelableArg, 
291                                                in Node relatedNodeArg, 
292                                                in DOMString prevNamespaceURIArg, 
293                                                in DOMString prevNodeNameArg);
294   };
295 };
297 #endif // _EVENTS_IDL_