1/* 2 * Copyright (C) 2006, 2007 Apple Inc. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. 9 * 2. Redistributions in binary form must reproduce the above copyright 10 * notice, this list of conditions and the following disclaimer in the 11 * documentation and/or other materials provided with the distribution. 12 * 13 * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY 14 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 15 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 16 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR 17 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 18 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, 19 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 20 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY 21 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 24 */ 25 26#ifndef DOMEventsClasses_H 27#define DOMEventsClasses_H 28 29#include "WebKit.h" 30#include "DOMCoreClasses.h" 31#include <WebCore/EventListener.h> 32 33#include <wtf/PassRefPtr.h> 34#include <wtf/RefPtr.h> 35 36// {AC3D1BC3-4976-4431-8A19-4812C5EFE39C} 37DEFINE_GUID(IID_DOMEvent, 0xac3d1bc3, 0x4976, 0x4431, 0x8a, 0x19, 0x48, 0x12, 0xc5, 0xef, 0xe3, 0x9c); 38 39namespace WebCore { 40 class Event; 41} 42 43class DOMUIEvent; 44 45class WebEventListener : public WebCore::EventListener { 46public: 47 WebEventListener(IDOMEventListener*); 48 ~WebEventListener(); 49 virtual bool operator==(const EventListener&); 50 virtual void handleEvent(WebCore::ScriptExecutionContext*, WebCore::Event*); 51 static PassRefPtr<WebEventListener> create(IDOMEventListener*); 52private: 53 IDOMEventListener* m_iDOMEventListener; 54}; 55 56class DOMEventListener : public DOMObject, public IDOMEventListener 57{ 58public: 59 // IUnknown 60 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 61 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); } 62 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); } 63 64 // IWebScriptObject 65 virtual HRESULT STDMETHODCALLTYPE throwException( 66 /* [in] */ BSTR exceptionMessage, 67 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); } 68 69 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 70 /* [in] */ BSTR name, 71 /* [size_is][in] */ const VARIANT args[ ], 72 /* [in] */ int cArgs, 73 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); } 74 75 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 76 /* [in] */ BSTR script, 77 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); } 78 79 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 80 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 81 82 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 83 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 84 85 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 86 /* [in] */ unsigned int index, 87 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); } 88 89 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 90 /* [in] */ unsigned int index, 91 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 92 93 virtual HRESULT STDMETHODCALLTYPE setException( 94 /* [in] */ BSTR description) { return DOMObject::setException(description); } 95 96 // IDOMEventListener 97 virtual HRESULT STDMETHODCALLTYPE handleEvent( 98 /* [in] */ IDOMEvent* evt); 99}; 100 101class DOMEvent : public DOMObject, public IDOMEvent 102{ 103public: 104 static IDOMEvent* createInstance(PassRefPtr<WebCore::Event> e); 105protected: 106 DOMEvent(PassRefPtr<WebCore::Event> e); 107 ~DOMEvent(); 108 109public: 110 // IUnknown 111 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 112 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMObject::AddRef(); } 113 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMObject::Release(); } 114 115 // IWebScriptObject 116 virtual HRESULT STDMETHODCALLTYPE throwException( 117 /* [in] */ BSTR exceptionMessage, 118 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); } 119 120 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 121 /* [in] */ BSTR name, 122 /* [size_is][in] */ const VARIANT args[ ], 123 /* [in] */ int cArgs, 124 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); } 125 126 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 127 /* [in] */ BSTR script, 128 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); } 129 130 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 131 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 132 133 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 134 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 135 136 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 137 /* [in] */ unsigned int index, 138 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); } 139 140 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 141 /* [in] */ unsigned int index, 142 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 143 144 virtual HRESULT STDMETHODCALLTYPE setException( 145 /* [in] */ BSTR description) { return DOMObject::setException(description); } 146 147 // IDOMEvent 148 virtual HRESULT STDMETHODCALLTYPE type( 149 /* [retval][out] */ BSTR* result); 150 151 virtual HRESULT STDMETHODCALLTYPE target( 152 /* [retval][out] */ IDOMEventTarget** result); 153 154 virtual HRESULT STDMETHODCALLTYPE currentTarget( 155 /* [retval][out] */ IDOMEventTarget** result); 156 157 virtual HRESULT STDMETHODCALLTYPE eventPhase( 158 /* [retval][out] */ unsigned short* result); 159 160 virtual HRESULT STDMETHODCALLTYPE bubbles( 161 /* [retval][out] */ BOOL* result); 162 163 virtual HRESULT STDMETHODCALLTYPE cancelable( 164 /* [retval][out] */ BOOL* result); 165 166 virtual HRESULT STDMETHODCALLTYPE timeStamp( 167 /* [retval][out] */ DOMTimeStamp* result); 168 169 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void); 170 171 virtual HRESULT STDMETHODCALLTYPE preventDefault( void); 172 173 virtual HRESULT STDMETHODCALLTYPE initEvent( 174 /* [in] */ BSTR eventTypeArg, 175 /* [in] */ BOOL canBubbleArg, 176 /* [in] */ BOOL cancelableArg); 177 178 // DOMEvent methods 179 WebCore::Event* coreEvent() { return m_event.get(); } 180 181protected: 182 RefPtr<WebCore::Event> m_event; 183}; 184 185class DOMUIEvent : public DOMEvent, public IDOMUIEvent 186{ 187public: 188 DOMUIEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) {} 189 190 // IUnknown 191 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 192 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); } 193 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); } 194 195 // IWebScriptObject 196 virtual HRESULT STDMETHODCALLTYPE throwException( 197 /* [in] */ BSTR exceptionMessage, 198 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); } 199 200 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 201 /* [in] */ BSTR name, 202 /* [size_is][in] */ const VARIANT args[ ], 203 /* [in] */ int cArgs, 204 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); } 205 206 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 207 /* [in] */ BSTR script, 208 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); } 209 210 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 211 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 212 213 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 214 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 215 216 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 217 /* [in] */ unsigned int index, 218 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); } 219 220 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 221 /* [in] */ unsigned int index, 222 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 223 224 virtual HRESULT STDMETHODCALLTYPE setException( 225 /* [in] */ BSTR description) { return DOMObject::setException(description); } 226 227 // IDOMEvent 228 virtual HRESULT STDMETHODCALLTYPE type( 229 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); } 230 231 virtual HRESULT STDMETHODCALLTYPE target( 232 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); } 233 234 virtual HRESULT STDMETHODCALLTYPE currentTarget( 235 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); } 236 237 virtual HRESULT STDMETHODCALLTYPE eventPhase( 238 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); } 239 240 virtual HRESULT STDMETHODCALLTYPE bubbles( 241 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); } 242 243 virtual HRESULT STDMETHODCALLTYPE cancelable( 244 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); } 245 246 virtual HRESULT STDMETHODCALLTYPE timeStamp( 247 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); } 248 249 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); } 250 251 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); } 252 253 virtual HRESULT STDMETHODCALLTYPE initEvent( 254 /* [in] */ BSTR eventTypeArg, 255 /* [in] */ BOOL canBubbleArg, 256 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); } 257 258 // IDOMUIEvent 259 virtual HRESULT STDMETHODCALLTYPE view( 260 /* [retval][out] */ IDOMWindow** result); 261 262 virtual HRESULT STDMETHODCALLTYPE detail( 263 /* [retval][out] */ long* result); 264 265 virtual HRESULT STDMETHODCALLTYPE initUIEvent( 266 /* [in] */ BSTR type, 267 /* [in] */ BOOL canBubble, 268 /* [in] */ BOOL cancelable, 269 /* [in] */ IDOMWindow* view, 270 /* [in] */ long detail); 271 272 virtual HRESULT STDMETHODCALLTYPE keyCode( 273 /* [retval][out] */ long* result); 274 275 virtual HRESULT STDMETHODCALLTYPE charCode( 276 /* [retval][out] */ long* result); 277 278 virtual HRESULT STDMETHODCALLTYPE unused1( 279 /* [retval][out] */ long* result); 280 281 virtual HRESULT STDMETHODCALLTYPE unused2( 282 /* [retval][out] */ long* result); 283 284 virtual HRESULT STDMETHODCALLTYPE pageX( 285 /* [retval][out] */ long* result); 286 287 virtual HRESULT STDMETHODCALLTYPE pageY( 288 /* [retval][out] */ long* result); 289 290 virtual HRESULT STDMETHODCALLTYPE which( 291 /* [retval][out] */ long* result); 292}; 293 294class DOMKeyboardEvent : public DOMUIEvent, public IDOMKeyboardEvent 295{ 296public: 297 DOMKeyboardEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { } 298 299 // IUnknown 300 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 301 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); } 302 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); } 303 304 // IWebScriptObject 305 virtual HRESULT STDMETHODCALLTYPE throwException( 306 /* [in] */ BSTR exceptionMessage, 307 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); } 308 309 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 310 /* [in] */ BSTR name, 311 /* [size_is][in] */ const VARIANT args[ ], 312 /* [in] */ int cArgs, 313 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); } 314 315 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 316 /* [in] */ BSTR script, 317 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); } 318 319 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 320 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 321 322 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 323 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 324 325 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 326 /* [in] */ unsigned int index, 327 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); } 328 329 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 330 /* [in] */ unsigned int index, 331 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 332 333 virtual HRESULT STDMETHODCALLTYPE setException( 334 /* [in] */ BSTR description) { return DOMObject::setException(description); } 335 336 // IDOMEvent 337 virtual HRESULT STDMETHODCALLTYPE type( 338 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); } 339 340 virtual HRESULT STDMETHODCALLTYPE target( 341 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); } 342 343 virtual HRESULT STDMETHODCALLTYPE currentTarget( 344 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); } 345 346 virtual HRESULT STDMETHODCALLTYPE eventPhase( 347 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); } 348 349 virtual HRESULT STDMETHODCALLTYPE bubbles( 350 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); } 351 352 virtual HRESULT STDMETHODCALLTYPE cancelable( 353 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); } 354 355 virtual HRESULT STDMETHODCALLTYPE timeStamp( 356 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); } 357 358 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); } 359 360 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); } 361 362 virtual HRESULT STDMETHODCALLTYPE initEvent( 363 /* [in] */ BSTR eventTypeArg, 364 /* [in] */ BOOL canBubbleArg, 365 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); } 366 367 // IDOMUIEvent 368 virtual HRESULT STDMETHODCALLTYPE view( 369 /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); } 370 371 virtual HRESULT STDMETHODCALLTYPE detail( 372 /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); } 373 374 virtual HRESULT STDMETHODCALLTYPE initUIEvent( 375 /* [in] */ BSTR type, 376 /* [in] */ BOOL canBubble, 377 /* [in] */ BOOL cancelable, 378 /* [in] */ IDOMWindow* view, 379 /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); } 380 381 virtual HRESULT STDMETHODCALLTYPE keyCode( 382 /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); } 383 384 virtual HRESULT STDMETHODCALLTYPE charCode( 385 /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); } 386 387 virtual HRESULT STDMETHODCALLTYPE unused1( 388 /* [retval][out] */ long* result) { return DOMUIEvent::unused1(result); } 389 390 virtual HRESULT STDMETHODCALLTYPE unused2( 391 /* [retval][out] */ long* result) { return DOMUIEvent::unused2(result); } 392 393 virtual HRESULT STDMETHODCALLTYPE pageX( 394 /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); } 395 396 virtual HRESULT STDMETHODCALLTYPE pageY( 397 /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); } 398 399 virtual HRESULT STDMETHODCALLTYPE which( 400 /* [retval][out] */ long* result) { return DOMUIEvent::which(result); } 401 402 // IDOMKeyboardEvent 403 virtual HRESULT STDMETHODCALLTYPE keyIdentifier( 404 /* [retval][out] */ BSTR* result); 405 406 virtual HRESULT STDMETHODCALLTYPE keyLocation( 407 /* [retval][out] */ unsigned long* result); 408 409 virtual HRESULT STDMETHODCALLTYPE ctrlKey( 410 /* [retval][out] */ BOOL* result); 411 412 virtual HRESULT STDMETHODCALLTYPE shiftKey( 413 /* [retval][out] */ BOOL* result); 414 415 virtual HRESULT STDMETHODCALLTYPE altKey( 416 /* [retval][out] */ BOOL* result); 417 418 virtual HRESULT STDMETHODCALLTYPE metaKey( 419 /* [retval][out] */ BOOL* result); 420 421 virtual HRESULT STDMETHODCALLTYPE altGraphKey( 422 /* [retval][out] */ BOOL* result); 423 424 virtual HRESULT STDMETHODCALLTYPE getModifierState( 425 /* [in] */ BSTR keyIdentifierArg, 426 /* [retval][out] */ BOOL* result); 427 428 virtual HRESULT STDMETHODCALLTYPE initKeyboardEvent( 429 /* [in] */ BSTR type, 430 /* [in] */ BOOL canBubble, 431 /* [in] */ BOOL cancelable, 432 /* [in] */ IDOMWindow* view, 433 /* [in] */ BSTR keyIdentifier, 434 /* [in] */ unsigned long keyLocation, 435 /* [in] */ BOOL ctrlKey, 436 /* [in] */ BOOL altKey, 437 /* [in] */ BOOL shiftKey, 438 /* [in] */ BOOL metaKey, 439 /* [in] */ BOOL graphKey); 440}; 441 442class DOMMouseEvent : public DOMUIEvent, public IDOMMouseEvent 443{ 444public: 445 DOMMouseEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { } 446 447 // IUnknown 448 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 449 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); } 450 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); } 451 452 // IWebScriptObject 453 virtual HRESULT STDMETHODCALLTYPE throwException( 454 /* [in] */ BSTR exceptionMessage, 455 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); } 456 457 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 458 /* [in] */ BSTR name, 459 /* [size_is][in] */ const VARIANT args[ ], 460 /* [in] */ int cArgs, 461 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); } 462 463 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 464 /* [in] */ BSTR script, 465 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); } 466 467 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 468 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 469 470 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 471 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 472 473 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 474 /* [in] */ unsigned int index, 475 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); } 476 477 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 478 /* [in] */ unsigned int index, 479 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 480 481 virtual HRESULT STDMETHODCALLTYPE setException( 482 /* [in] */ BSTR description) { return DOMObject::setException(description); } 483 484 // IDOMEvent 485 virtual HRESULT STDMETHODCALLTYPE type( 486 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); } 487 488 virtual HRESULT STDMETHODCALLTYPE target( 489 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); } 490 491 virtual HRESULT STDMETHODCALLTYPE currentTarget( 492 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); } 493 494 virtual HRESULT STDMETHODCALLTYPE eventPhase( 495 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); } 496 497 virtual HRESULT STDMETHODCALLTYPE bubbles( 498 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); } 499 500 virtual HRESULT STDMETHODCALLTYPE cancelable( 501 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); } 502 503 virtual HRESULT STDMETHODCALLTYPE timeStamp( 504 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); } 505 506 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); } 507 508 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); } 509 510 virtual HRESULT STDMETHODCALLTYPE initEvent( 511 /* [in] */ BSTR eventTypeArg, 512 /* [in] */ BOOL canBubbleArg, 513 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); } 514 515 // IDOMUIEvent 516 virtual HRESULT STDMETHODCALLTYPE view( 517 /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); } 518 519 virtual HRESULT STDMETHODCALLTYPE detail( 520 /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); } 521 522 virtual HRESULT STDMETHODCALLTYPE initUIEvent( 523 /* [in] */ BSTR type, 524 /* [in] */ BOOL canBubble, 525 /* [in] */ BOOL cancelable, 526 /* [in] */ IDOMWindow* view, 527 /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); } 528 529 virtual HRESULT STDMETHODCALLTYPE keyCode( 530 /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); } 531 532 virtual HRESULT STDMETHODCALLTYPE charCode( 533 /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); } 534 535 virtual HRESULT STDMETHODCALLTYPE unused1( 536 /* [retval][out] */ long* result) { return DOMUIEvent::unused1(result); } 537 538 virtual HRESULT STDMETHODCALLTYPE unused2( 539 /* [retval][out] */ long* result) { return DOMUIEvent::unused2(result); } 540 541 virtual HRESULT STDMETHODCALLTYPE pageX( 542 /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); } 543 544 virtual HRESULT STDMETHODCALLTYPE pageY( 545 /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); } 546 547 virtual HRESULT STDMETHODCALLTYPE which( 548 /* [retval][out] */ long* result) { return DOMUIEvent::which(result); } 549 550 // IDOMMouseEvent 551 virtual HRESULT STDMETHODCALLTYPE screenX( 552 /* [retval][out] */ long* result); 553 554 virtual HRESULT STDMETHODCALLTYPE screenY( 555 /* [retval][out] */ long* result); 556 557 virtual HRESULT STDMETHODCALLTYPE clientX( 558 /* [retval][out] */ long* result); 559 560 virtual HRESULT STDMETHODCALLTYPE clientY( 561 /* [retval][out] */ long* result); 562 563 virtual HRESULT STDMETHODCALLTYPE ctrlKey( 564 /* [retval][out] */ BOOL* result); 565 566 virtual HRESULT STDMETHODCALLTYPE shiftKey( 567 /* [retval][out] */ BOOL* result); 568 569 virtual HRESULT STDMETHODCALLTYPE altKey( 570 /* [retval][out] */ BOOL* result); 571 572 virtual HRESULT STDMETHODCALLTYPE metaKey( 573 /* [retval][out] */ BOOL* result); 574 575 virtual HRESULT STDMETHODCALLTYPE button( 576 /* [retval][out] */ unsigned short* result); 577 578 virtual HRESULT STDMETHODCALLTYPE relatedTarget( 579 /* [retval][out] */ IDOMEventTarget** result); 580 581 virtual HRESULT STDMETHODCALLTYPE initMouseEvent( 582 /* [in] */ BSTR type, 583 /* [in] */ BOOL canBubble, 584 /* [in] */ BOOL cancelable, 585 /* [in] */ IDOMWindow* view, 586 /* [in] */ long detail, 587 /* [in] */ long screenX, 588 /* [in] */ long screenY, 589 /* [in] */ long clientX, 590 /* [in] */ long clientY, 591 /* [in] */ BOOL ctrlKey, 592 /* [in] */ BOOL altKey, 593 /* [in] */ BOOL shiftKey, 594 /* [in] */ BOOL metaKey, 595 /* [in] */ unsigned short button, 596 /* [in] */ IDOMEventTarget* relatedTarget); 597 598 virtual HRESULT STDMETHODCALLTYPE offsetX( 599 /* [retval][out] */ long* result); 600 601 virtual HRESULT STDMETHODCALLTYPE offsetY( 602 /* [retval][out] */ long* result); 603 604 virtual HRESULT STDMETHODCALLTYPE x( 605 /* [retval][out] */ long* result); 606 607 virtual HRESULT STDMETHODCALLTYPE y( 608 /* [retval][out] */ long* result); 609 610 virtual HRESULT STDMETHODCALLTYPE fromElement( 611 /* [retval][out] */ IDOMNode** result); 612 613 virtual HRESULT STDMETHODCALLTYPE toElement( 614 /* [retval][out] */ IDOMNode** result); 615}; 616 617class DOMMutationEvent : public DOMEvent, public IDOMMutationEvent 618{ 619public: 620 DOMMutationEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) { } 621 622 // IUnknown 623 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 624 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); } 625 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); } 626 627 // IWebScriptObject 628 virtual HRESULT STDMETHODCALLTYPE throwException( 629 /* [in] */ BSTR exceptionMessage, 630 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); } 631 632 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 633 /* [in] */ BSTR name, 634 /* [size_is][in] */ const VARIANT args[ ], 635 /* [in] */ int cArgs, 636 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); } 637 638 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 639 /* [in] */ BSTR script, 640 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); } 641 642 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 643 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 644 645 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 646 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 647 648 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 649 /* [in] */ unsigned int index, 650 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); } 651 652 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 653 /* [in] */ unsigned int index, 654 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 655 656 virtual HRESULT STDMETHODCALLTYPE setException( 657 /* [in] */ BSTR description) { return DOMObject::setException(description); } 658 659 // IDOMEvent 660 virtual HRESULT STDMETHODCALLTYPE type( 661 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); } 662 663 virtual HRESULT STDMETHODCALLTYPE target( 664 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); } 665 666 virtual HRESULT STDMETHODCALLTYPE currentTarget( 667 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); } 668 669 virtual HRESULT STDMETHODCALLTYPE eventPhase( 670 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); } 671 672 virtual HRESULT STDMETHODCALLTYPE bubbles( 673 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); } 674 675 virtual HRESULT STDMETHODCALLTYPE cancelable( 676 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); } 677 678 virtual HRESULT STDMETHODCALLTYPE timeStamp( 679 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); } 680 681 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); } 682 683 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); } 684 685 virtual HRESULT STDMETHODCALLTYPE initEvent( 686 /* [in] */ BSTR eventTypeArg, 687 /* [in] */ BOOL canBubbleArg, 688 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); } 689 690 // IDOMMutationEvent 691 virtual HRESULT STDMETHODCALLTYPE relatedNode( 692 /* [retval][out] */ IDOMNode** result); 693 694 virtual HRESULT STDMETHODCALLTYPE prevValue( 695 /* [retval][out] */ BSTR* result); 696 697 virtual HRESULT STDMETHODCALLTYPE newValue( 698 /* [retval][out] */ BSTR* result); 699 700 virtual HRESULT STDMETHODCALLTYPE attrName( 701 /* [retval][out] */ BSTR* result); 702 703 virtual HRESULT STDMETHODCALLTYPE attrChange( 704 /* [retval][out] */ unsigned short* result); 705 706 virtual HRESULT STDMETHODCALLTYPE initMutationEvent( 707 /* [in] */ BSTR type, 708 /* [in] */ BOOL canBubble, 709 /* [in] */ BOOL cancelable, 710 /* [in] */ IDOMNode* relatedNode, 711 /* [in] */ BSTR prevValue, 712 /* [in] */ BSTR newValue, 713 /* [in] */ BSTR attrName, 714 /* [in] */ unsigned short attrChange); 715}; 716 717class DOMOverflowEvent : public DOMEvent, public IDOMOverflowEvent 718{ 719public: 720 DOMOverflowEvent(PassRefPtr<WebCore::Event> e) : DOMEvent(e) { } 721 722 // IUnknown 723 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 724 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMEvent::AddRef(); } 725 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMEvent::Release(); } 726 727 // IWebScriptObject 728 virtual HRESULT STDMETHODCALLTYPE throwException( 729 /* [in] */ BSTR exceptionMessage, 730 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); } 731 732 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 733 /* [in] */ BSTR name, 734 /* [size_is][in] */ const VARIANT args[ ], 735 /* [in] */ int cArgs, 736 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); } 737 738 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 739 /* [in] */ BSTR script, 740 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); } 741 742 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 743 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 744 745 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 746 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 747 748 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 749 /* [in] */ unsigned int index, 750 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); } 751 752 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 753 /* [in] */ unsigned int index, 754 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 755 756 virtual HRESULT STDMETHODCALLTYPE setException( 757 /* [in] */ BSTR description) { return DOMObject::setException(description); } 758 759 // IDOMEvent 760 virtual HRESULT STDMETHODCALLTYPE type( 761 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); } 762 763 virtual HRESULT STDMETHODCALLTYPE target( 764 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); } 765 766 virtual HRESULT STDMETHODCALLTYPE currentTarget( 767 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); } 768 769 virtual HRESULT STDMETHODCALLTYPE eventPhase( 770 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); } 771 772 virtual HRESULT STDMETHODCALLTYPE bubbles( 773 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); } 774 775 virtual HRESULT STDMETHODCALLTYPE cancelable( 776 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); } 777 778 virtual HRESULT STDMETHODCALLTYPE timeStamp( 779 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); } 780 781 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); } 782 783 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); } 784 785 virtual HRESULT STDMETHODCALLTYPE initEvent( 786 /* [in] */ BSTR eventTypeArg, 787 /* [in] */ BOOL canBubbleArg, 788 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); } 789 790 // IDOMOverflowEvent 791 virtual HRESULT STDMETHODCALLTYPE orient( 792 /* [retval][out] */ unsigned short* result); 793 794 virtual HRESULT STDMETHODCALLTYPE horizontalOverflow( 795 /* [retval][out] */ BOOL* result); 796 797 virtual HRESULT STDMETHODCALLTYPE verticalOverflow( 798 /* [retval][out] */ BOOL* result); 799}; 800 801class DOMWheelEvent : public DOMUIEvent, public IDOMWheelEvent 802{ 803public: 804 DOMWheelEvent(PassRefPtr<WebCore::Event> e) : DOMUIEvent(e) { } 805 806 // IUnknown 807 virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void** ppvObject); 808 virtual ULONG STDMETHODCALLTYPE AddRef(void) { return DOMUIEvent::AddRef(); } 809 virtual ULONG STDMETHODCALLTYPE Release(void) { return DOMUIEvent::Release(); } 810 811 // IWebScriptObject 812 virtual HRESULT STDMETHODCALLTYPE throwException( 813 /* [in] */ BSTR exceptionMessage, 814 /* [retval][out] */ BOOL* result) { return DOMObject::throwException(exceptionMessage, result); } 815 816 virtual HRESULT STDMETHODCALLTYPE callWebScriptMethod( 817 /* [in] */ BSTR name, 818 /* [size_is][in] */ const VARIANT args[ ], 819 /* [in] */ int cArgs, 820 /* [retval][out] */ VARIANT* result) { return DOMObject::callWebScriptMethod(name, args, cArgs, result); } 821 822 virtual HRESULT STDMETHODCALLTYPE evaluateWebScript( 823 /* [in] */ BSTR script, 824 /* [retval][out] */ VARIANT* result) { return DOMObject::evaluateWebScript(script, result); } 825 826 virtual HRESULT STDMETHODCALLTYPE removeWebScriptKey( 827 /* [in] */ BSTR name) { return DOMObject::removeWebScriptKey(name); } 828 829 virtual HRESULT STDMETHODCALLTYPE stringRepresentation( 830 /* [retval][out] */ BSTR* stringRepresentation) { return DOMObject::stringRepresentation(stringRepresentation); } 831 832 virtual HRESULT STDMETHODCALLTYPE webScriptValueAtIndex( 833 /* [in] */ unsigned int index, 834 /* [retval][out] */ VARIANT* result) { return DOMObject::webScriptValueAtIndex(index, result); } 835 836 virtual HRESULT STDMETHODCALLTYPE setWebScriptValueAtIndex( 837 /* [in] */ unsigned int index, 838 /* [in] */ VARIANT val) { return DOMObject::setWebScriptValueAtIndex(index, val); } 839 840 virtual HRESULT STDMETHODCALLTYPE setException( 841 /* [in] */ BSTR description) { return DOMObject::setException(description); } 842 843 // IDOMEvent 844 virtual HRESULT STDMETHODCALLTYPE type( 845 /* [retval][out] */ BSTR* result) { return DOMEvent::type(result); } 846 847 virtual HRESULT STDMETHODCALLTYPE target( 848 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::target(result); } 849 850 virtual HRESULT STDMETHODCALLTYPE currentTarget( 851 /* [retval][out] */ IDOMEventTarget** result) { return DOMEvent::currentTarget(result); } 852 853 virtual HRESULT STDMETHODCALLTYPE eventPhase( 854 /* [retval][out] */ unsigned short* result) { return DOMEvent::eventPhase(result); } 855 856 virtual HRESULT STDMETHODCALLTYPE bubbles( 857 /* [retval][out] */ BOOL* result) { return DOMEvent::bubbles(result); } 858 859 virtual HRESULT STDMETHODCALLTYPE cancelable( 860 /* [retval][out] */ BOOL* result) { return DOMEvent::cancelable(result); } 861 862 virtual HRESULT STDMETHODCALLTYPE timeStamp( 863 /* [retval][out] */ DOMTimeStamp* result) { return DOMEvent::timeStamp(result); } 864 865 virtual HRESULT STDMETHODCALLTYPE stopPropagation( void) { return DOMEvent::stopPropagation(); } 866 867 virtual HRESULT STDMETHODCALLTYPE preventDefault( void) { return DOMEvent::preventDefault(); } 868 869 virtual HRESULT STDMETHODCALLTYPE initEvent( 870 /* [in] */ BSTR eventTypeArg, 871 /* [in] */ BOOL canBubbleArg, 872 /* [in] */ BOOL cancelableArg) { return DOMEvent::initEvent(eventTypeArg, canBubbleArg, cancelableArg); } 873 874 // IDOMUIEvent 875 virtual HRESULT STDMETHODCALLTYPE view( 876 /* [retval][out] */ IDOMWindow** result) { return DOMUIEvent::view(result); } 877 878 virtual HRESULT STDMETHODCALLTYPE detail( 879 /* [retval][out] */ long* result) { return DOMUIEvent::detail(result); } 880 881 virtual HRESULT STDMETHODCALLTYPE initUIEvent( 882 /* [in] */ BSTR type, 883 /* [in] */ BOOL canBubble, 884 /* [in] */ BOOL cancelable, 885 /* [in] */ IDOMWindow* view, 886 /* [in] */ long detail) { return DOMUIEvent::initUIEvent(type, canBubble, cancelable, view, detail); } 887 888 virtual HRESULT STDMETHODCALLTYPE keyCode( 889 /* [retval][out] */ long* result) { return DOMUIEvent::keyCode(result); } 890 891 virtual HRESULT STDMETHODCALLTYPE charCode( 892 /* [retval][out] */ long* result) { return DOMUIEvent::charCode(result); } 893 894 virtual HRESULT STDMETHODCALLTYPE unused1( 895 /* [retval][out] */ long* result) { return DOMUIEvent::unused1(result); } 896 897 virtual HRESULT STDMETHODCALLTYPE unused2( 898 /* [retval][out] */ long* result) { return DOMUIEvent::unused2(result); } 899 900 virtual HRESULT STDMETHODCALLTYPE pageX( 901 /* [retval][out] */ long* result) { return DOMUIEvent::pageX(result); } 902 903 virtual HRESULT STDMETHODCALLTYPE pageY( 904 /* [retval][out] */ long* result) { return DOMUIEvent::pageY(result); } 905 906 virtual HRESULT STDMETHODCALLTYPE which( 907 /* [retval][out] */ long* result) { return DOMUIEvent::which(result); } 908 909 // IDOMWheelEvent 910 virtual HRESULT STDMETHODCALLTYPE screenX( 911 /* [retval][out] */ long* result); 912 913 virtual HRESULT STDMETHODCALLTYPE screenY( 914 /* [retval][out] */ long* result); 915 916 virtual HRESULT STDMETHODCALLTYPE clientX( 917 /* [retval][out] */ long* result); 918 919 virtual HRESULT STDMETHODCALLTYPE clientY( 920 /* [retval][out] */ long* result); 921 922 virtual HRESULT STDMETHODCALLTYPE ctrlKey( 923 /* [retval][out] */ BOOL* result); 924 925 virtual HRESULT STDMETHODCALLTYPE shiftKey( 926 /* [retval][out] */ BOOL* result); 927 928 virtual HRESULT STDMETHODCALLTYPE altKey( 929 /* [retval][out] */ BOOL* result); 930 931 virtual HRESULT STDMETHODCALLTYPE metaKey( 932 /* [retval][out] */ BOOL* result); 933 934 virtual HRESULT STDMETHODCALLTYPE wheelDelta( 935 /* [retval][out] */ long* result); 936 937 virtual HRESULT STDMETHODCALLTYPE wheelDeltaX( 938 /* [retval][out] */ long* result); 939 940 virtual HRESULT STDMETHODCALLTYPE wheelDeltaY( 941 /* [retval][out] */ long* result); 942 943 virtual HRESULT STDMETHODCALLTYPE offsetX( 944 /* [retval][out] */ long* result); 945 946 virtual HRESULT STDMETHODCALLTYPE offsetY( 947 /* [retval][out] */ long* result); 948 949 virtual HRESULT STDMETHODCALLTYPE x( 950 /* [retval][out] */ long* result); 951 952 virtual HRESULT STDMETHODCALLTYPE y( 953 /* [retval][out] */ long* result); 954 955 virtual HRESULT STDMETHODCALLTYPE isHorizontal( 956 /* [retval][out] */ BOOL* result); 957 958 virtual HRESULT STDMETHODCALLTYPE initWheelEvent( 959 /* [in] */ long wheelDeltaX, 960 /* [in] */ long wheelDeltaY, 961 /* [in] */ IDOMWindow* view, 962 /* [in] */ long screenX, 963 /* [in] */ long screenY, 964 /* [in] */ long clientX, 965 /* [in] */ long clientY, 966 /* [in] */ BOOL ctrlKey, 967 /* [in] */ BOOL altKey, 968 /* [in] */ BOOL shiftKey, 969 /* [in] */ BOOL metaKey); 970}; 971 972#endif 973