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 #include "config.h" 27 #include "WebKitDLL.h" 28 #include <initguid.h> 29 #include "DOMEventsClasses.h" 30 31 #include <WebCore/DOMWindow.h> 32 #include <WebCore/Event.h> 33 #include <WebCore/KeyboardEvent.h> 34 #include <WebCore/MouseEvent.h> 35 36 // DOMEventListener ----------------------------------------------------------- 37 38 HRESULT STDMETHODCALLTYPE DOMEventListener::QueryInterface(const IID &riid, void** ppvObject) 39 { 40 *ppvObject = 0; 41 if (IsEqualGUID(riid, IID_IDOMEventListener)) 42 *ppvObject = static_cast<IDOMEventListener*>(this); 43 else 44 return DOMObject::QueryInterface(riid, ppvObject); 45 46 AddRef(); 47 return S_OK; 48 } 49 50 HRESULT STDMETHODCALLTYPE DOMEventListener::handleEvent( 51 /* [in] */ IDOMEvent* /*evt*/) 52 { 53 return E_NOTIMPL; 54 } 55 56 // DOMEvent ------------------------------------------------------------------- 57 58 DOMEvent::DOMEvent(PassRefPtr<WebCore::Event> e) 59 : m_event(0) 60 { 61 m_event = e; 62 } 63 64 DOMEvent::~DOMEvent() 65 { 66 } 67 68 IDOMEvent* DOMEvent::createInstance(PassRefPtr<WebCore::Event> e) 69 { 70 if (!e) 71 return 0; 72 73 HRESULT hr; 74 IDOMEvent* domEvent = 0; 75 76 if (e->isKeyboardEvent()) { 77 DOMKeyboardEvent* newEvent = new DOMKeyboardEvent(e); 78 hr = newEvent->QueryInterface(IID_IDOMKeyboardEvent, (void**)&domEvent); 79 } else if (e->isMouseEvent()) { 80 DOMMouseEvent* newEvent = new DOMMouseEvent(e); 81 hr = newEvent->QueryInterface(IID_IDOMMouseEvent, (void**)&domEvent); 82 } else if (e->isMutationEvent()) { 83 DOMMutationEvent* newEvent = new DOMMutationEvent(e); 84 hr = newEvent->QueryInterface(IID_IDOMMutationEvent, (void**)&domEvent); 85 } else if (e->isOverflowEvent()) { 86 DOMOverflowEvent* newEvent = new DOMOverflowEvent(e); 87 hr = newEvent->QueryInterface(IID_IDOMOverflowEvent, (void**)&domEvent); 88 } else if (e->isWheelEvent()) { 89 DOMWheelEvent* newEvent = new DOMWheelEvent(e); 90 hr = newEvent->QueryInterface(IID_IDOMWheelEvent, (void**)&domEvent); 91 } else if (e->isUIEvent()) { 92 DOMUIEvent* newEvent = new DOMUIEvent(e); 93 hr = newEvent->QueryInterface(IID_IDOMUIEvent, (void**)&domEvent); 94 } else { 95 DOMEvent* newEvent = new DOMEvent(e); 96 hr = newEvent->QueryInterface(IID_IDOMEvent, (void**)&domEvent); 97 } 98 99 if (FAILED(hr)) 100 return 0; 101 102 return domEvent; 103 } 104 105 HRESULT STDMETHODCALLTYPE DOMEvent::QueryInterface(const IID &riid, void** ppvObject) 106 { 107 *ppvObject = 0; 108 if (IsEqualGUID(riid, IID_DOMEvent)) 109 *ppvObject = this; 110 else if (IsEqualGUID(riid, IID_IDOMEvent)) 111 *ppvObject = static_cast<IDOMEvent*>(this); 112 else 113 return DOMObject::QueryInterface(riid, ppvObject); 114 115 AddRef(); 116 return S_OK; 117 } 118 119 HRESULT STDMETHODCALLTYPE DOMEvent::type( 120 /* [retval][out] */ BSTR* /*result*/) 121 { 122 return E_NOTIMPL; 123 } 124 125 HRESULT STDMETHODCALLTYPE DOMEvent::target( 126 /* [retval][out] */ IDOMEventTarget** /*result*/) 127 { 128 return E_NOTIMPL; 129 } 130 131 HRESULT STDMETHODCALLTYPE DOMEvent::currentTarget( 132 /* [retval][out] */ IDOMEventTarget** /*result*/) 133 { 134 return E_NOTIMPL; 135 } 136 137 HRESULT STDMETHODCALLTYPE DOMEvent::eventPhase( 138 /* [retval][out] */ unsigned short* /*result*/) 139 { 140 return E_NOTIMPL; 141 } 142 143 HRESULT STDMETHODCALLTYPE DOMEvent::bubbles( 144 /* [retval][out] */ BOOL* /*result*/) 145 { 146 return E_NOTIMPL; 147 } 148 149 HRESULT STDMETHODCALLTYPE DOMEvent::cancelable( 150 /* [retval][out] */ BOOL* /*result*/) 151 { 152 return E_NOTIMPL; 153 } 154 155 HRESULT STDMETHODCALLTYPE DOMEvent::timeStamp( 156 /* [retval][out] */ DOMTimeStamp* /*result*/) 157 { 158 return E_NOTIMPL; 159 } 160 161 HRESULT STDMETHODCALLTYPE DOMEvent::stopPropagation( void) 162 { 163 return E_NOTIMPL; 164 } 165 166 HRESULT STDMETHODCALLTYPE DOMEvent::preventDefault( void) 167 { 168 return E_NOTIMPL; 169 } 170 171 HRESULT STDMETHODCALLTYPE DOMEvent::initEvent( 172 /* [in] */ BSTR /*eventTypeArg*/, 173 /* [in] */ BOOL /*canBubbleArg*/, 174 /* [in] */ BOOL /*cancelableArg*/) 175 { 176 return E_NOTIMPL; 177 } 178 179 // DOMUIEvent ----------------------------------------------------------------- 180 181 HRESULT STDMETHODCALLTYPE DOMUIEvent::QueryInterface(REFIID riid, void** ppvObject) 182 { 183 *ppvObject = 0; 184 if (IsEqualGUID(riid, IID_IDOMUIEvent)) 185 *ppvObject = static_cast<IDOMUIEvent*>(this); 186 else 187 return DOMEvent::QueryInterface(riid, ppvObject); 188 189 AddRef(); 190 return S_OK; 191 } 192 193 HRESULT STDMETHODCALLTYPE DOMUIEvent::view( 194 /* [retval][out] */ IDOMWindow** /*result*/) 195 { 196 return E_NOTIMPL; 197 } 198 199 HRESULT STDMETHODCALLTYPE DOMUIEvent::detail( 200 /* [retval][out] */ long* /*result*/) 201 { 202 return E_NOTIMPL; 203 } 204 205 HRESULT STDMETHODCALLTYPE DOMUIEvent::initUIEvent( 206 /* [in] */ BSTR /*type*/, 207 /* [in] */ BOOL /*canBubble*/, 208 /* [in] */ BOOL /*cancelable*/, 209 /* [in] */ IDOMWindow* /*view*/, 210 /* [in] */ long /*detail*/) 211 { 212 return E_NOTIMPL; 213 } 214 215 HRESULT STDMETHODCALLTYPE DOMUIEvent::keyCode( 216 /* [retval][out] */ long* /*result*/) 217 { 218 return E_NOTIMPL; 219 } 220 221 HRESULT STDMETHODCALLTYPE DOMUIEvent::charCode( 222 /* [retval][out] */ long* /*result*/) 223 { 224 return E_NOTIMPL; 225 } 226 227 HRESULT STDMETHODCALLTYPE DOMUIEvent::layerX( 228 /* [retval][out] */ long* /*result*/) 229 { 230 return E_NOTIMPL; 231 } 232 233 HRESULT STDMETHODCALLTYPE DOMUIEvent::layerY( 234 /* [retval][out] */ long* /*result*/) 235 { 236 return E_NOTIMPL; 237 } 238 239 HRESULT STDMETHODCALLTYPE DOMUIEvent::pageX( 240 /* [retval][out] */ long* /*result*/) 241 { 242 return E_NOTIMPL; 243 } 244 245 HRESULT STDMETHODCALLTYPE DOMUIEvent::pageY( 246 /* [retval][out] */ long* /*result*/) 247 { 248 return E_NOTIMPL; 249 } 250 251 HRESULT STDMETHODCALLTYPE DOMUIEvent::which( 252 /* [retval][out] */ long* /*result*/) 253 { 254 return E_NOTIMPL; 255 } 256 257 // DOMKeyboardEvent ----------------------------------------------------------- 258 259 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::QueryInterface(REFIID riid, void** ppvObject) 260 { 261 *ppvObject = 0; 262 if (IsEqualGUID(riid, IID_IDOMKeyboardEvent)) 263 *ppvObject = static_cast<IDOMKeyboardEvent*>(this); 264 else 265 return DOMUIEvent::QueryInterface(riid, ppvObject); 266 267 AddRef(); 268 return S_OK; 269 } 270 271 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyIdentifier( 272 /* [retval][out] */ BSTR* /*result*/) 273 { 274 return E_NOTIMPL; 275 } 276 277 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyLocation( 278 /* [retval][out] */ unsigned long* /*result*/) 279 { 280 return E_NOTIMPL; 281 } 282 283 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::ctrlKey( 284 /* [retval][out] */ BOOL* result) 285 { 286 *result = FALSE; 287 if (!m_event || !m_event->isKeyboardEvent()) 288 return E_FAIL; 289 WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get()); 290 291 *result = keyEvent->ctrlKey() ? TRUE : FALSE; 292 return S_OK; 293 } 294 295 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::shiftKey( 296 /* [retval][out] */ BOOL* result) 297 { 298 *result = FALSE; 299 if (!m_event || !m_event->isKeyboardEvent()) 300 return E_FAIL; 301 WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get()); 302 303 *result = keyEvent->shiftKey() ? TRUE : FALSE; 304 return S_OK; 305 } 306 307 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altKey( 308 /* [retval][out] */ BOOL* result) 309 { 310 *result = FALSE; 311 if (!m_event || !m_event->isKeyboardEvent()) 312 return E_FAIL; 313 WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get()); 314 315 *result = keyEvent->altKey() ? TRUE : FALSE; 316 return S_OK; 317 } 318 319 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::metaKey( 320 /* [retval][out] */ BOOL* result) 321 { 322 *result = FALSE; 323 if (!m_event || !m_event->isKeyboardEvent()) 324 return E_FAIL; 325 WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get()); 326 327 *result = keyEvent->metaKey() ? TRUE : FALSE; 328 return S_OK; 329 } 330 331 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::altGraphKey( 332 /* [retval][out] */ BOOL* result) 333 { 334 *result = FALSE; 335 if (!m_event || !m_event->isKeyboardEvent()) 336 return E_FAIL; 337 WebCore::KeyboardEvent* keyEvent = static_cast<WebCore::KeyboardEvent*>(m_event.get()); 338 339 *result = keyEvent->altGraphKey() ? TRUE : FALSE; 340 return S_OK; 341 } 342 343 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::getModifierState( 344 /* [in] */ BSTR /*keyIdentifierArg*/, 345 /* [retval][out] */ BOOL* /*result*/) 346 { 347 return E_NOTIMPL; 348 } 349 350 HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::initKeyboardEvent( 351 /* [in] */ BSTR /*type*/, 352 /* [in] */ BOOL /*canBubble*/, 353 /* [in] */ BOOL /*cancelable*/, 354 /* [in] */ IDOMWindow* /*view*/, 355 /* [in] */ BSTR /*keyIdentifier*/, 356 /* [in] */ unsigned long /*keyLocation*/, 357 /* [in] */ BOOL /*ctrlKey*/, 358 /* [in] */ BOOL /*altKey*/, 359 /* [in] */ BOOL /*shiftKey*/, 360 /* [in] */ BOOL /*metaKey*/, 361 /* [in] */ BOOL /*graphKey*/) 362 { 363 return E_NOTIMPL; 364 } 365 366 // DOMMouseEvent -------------------------------------------------------------- 367 368 HRESULT STDMETHODCALLTYPE DOMMouseEvent::QueryInterface(REFIID riid, void** ppvObject) 369 { 370 *ppvObject = 0; 371 if (IsEqualGUID(riid, IID_IDOMMouseEvent)) 372 *ppvObject = static_cast<IDOMMouseEvent*>(this); 373 else 374 return DOMUIEvent::QueryInterface(riid, ppvObject); 375 376 AddRef(); 377 return S_OK; 378 } 379 380 HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenX( 381 /* [retval][out] */ long* /*result*/) 382 { 383 return E_NOTIMPL; 384 } 385 386 HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenY( 387 /* [retval][out] */ long* /*result*/) 388 { 389 return E_NOTIMPL; 390 } 391 392 HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientX( 393 /* [retval][out] */ long* /*result*/) 394 { 395 return E_NOTIMPL; 396 } 397 398 HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientY( 399 /* [retval][out] */ long* /*result*/) 400 { 401 return E_NOTIMPL; 402 } 403 404 HRESULT STDMETHODCALLTYPE DOMMouseEvent::ctrlKey( 405 /* [retval][out] */ BOOL* result) 406 { 407 *result = FALSE; 408 if (!m_event || !m_event->isMouseEvent()) 409 return E_FAIL; 410 WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get()); 411 412 *result = mouseEvent->ctrlKey() ? TRUE : FALSE; 413 return S_OK; 414 } 415 416 HRESULT STDMETHODCALLTYPE DOMMouseEvent::shiftKey( 417 /* [retval][out] */ BOOL* result) 418 { 419 *result = FALSE; 420 if (!m_event || !m_event->isMouseEvent()) 421 return E_FAIL; 422 WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get()); 423 424 *result = mouseEvent->shiftKey() ? TRUE : FALSE; 425 return S_OK; 426 } 427 428 HRESULT STDMETHODCALLTYPE DOMMouseEvent::altKey( 429 /* [retval][out] */ BOOL* result) 430 { 431 *result = FALSE; 432 if (!m_event || !m_event->isMouseEvent()) 433 return E_FAIL; 434 WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get()); 435 436 *result = mouseEvent->altKey() ? TRUE : FALSE; 437 return S_OK; 438 } 439 440 HRESULT STDMETHODCALLTYPE DOMMouseEvent::metaKey( 441 /* [retval][out] */ BOOL* result) 442 { 443 *result = FALSE; 444 if (!m_event || !m_event->isMouseEvent()) 445 return E_FAIL; 446 WebCore::MouseEvent* mouseEvent = static_cast<WebCore::MouseEvent*>(m_event.get()); 447 448 *result = mouseEvent->metaKey() ? TRUE : FALSE; 449 return S_OK; 450 } 451 452 HRESULT STDMETHODCALLTYPE DOMMouseEvent::button( 453 /* [retval][out] */ unsigned short* /*result*/) 454 { 455 return E_NOTIMPL; 456 } 457 458 HRESULT STDMETHODCALLTYPE DOMMouseEvent::relatedTarget( 459 /* [retval][out] */ IDOMEventTarget** /*result*/) 460 { 461 return E_NOTIMPL; 462 } 463 464 HRESULT STDMETHODCALLTYPE DOMMouseEvent::initMouseEvent( 465 /* [in] */ BSTR /*type*/, 466 /* [in] */ BOOL /*canBubble*/, 467 /* [in] */ BOOL /*cancelable*/, 468 /* [in] */ IDOMWindow* /*view*/, 469 /* [in] */ long /*detail*/, 470 /* [in] */ long /*screenX*/, 471 /* [in] */ long /*screenY*/, 472 /* [in] */ long /*clientX*/, 473 /* [in] */ long /*clientY*/, 474 /* [in] */ BOOL /*ctrlKey*/, 475 /* [in] */ BOOL /*altKey*/, 476 /* [in] */ BOOL /*shiftKey*/, 477 /* [in] */ BOOL /*metaKey*/, 478 /* [in] */ unsigned short /*button*/, 479 /* [in] */ IDOMEventTarget* /*relatedTarget*/) 480 { 481 return E_NOTIMPL; 482 } 483 484 HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetX( 485 /* [retval][out] */ long* /*result*/) 486 { 487 return E_NOTIMPL; 488 } 489 490 HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetY( 491 /* [retval][out] */ long* /*result*/) 492 { 493 return E_NOTIMPL; 494 } 495 496 HRESULT STDMETHODCALLTYPE DOMMouseEvent::x( 497 /* [retval][out] */ long* /*result*/) 498 { 499 return E_NOTIMPL; 500 } 501 502 HRESULT STDMETHODCALLTYPE DOMMouseEvent::y( 503 /* [retval][out] */ long* /*result*/) 504 { 505 return E_NOTIMPL; 506 } 507 508 HRESULT STDMETHODCALLTYPE DOMMouseEvent::fromElement( 509 /* [retval][out] */ IDOMNode** /*result*/) 510 { 511 return E_NOTIMPL; 512 } 513 514 HRESULT STDMETHODCALLTYPE DOMMouseEvent::toElement( 515 /* [retval][out] */ IDOMNode** /*result*/) 516 { 517 return E_NOTIMPL; 518 } 519 520 // DOMMutationEvent ----------------------------------------------------------- 521 522 HRESULT STDMETHODCALLTYPE DOMMutationEvent::QueryInterface(REFIID riid, void** ppvObject) 523 { 524 *ppvObject = 0; 525 if (IsEqualGUID(riid, IID_IDOMMutationEvent)) 526 *ppvObject = static_cast<IDOMMutationEvent*>(this); 527 else 528 return DOMEvent::QueryInterface(riid, ppvObject); 529 530 AddRef(); 531 return S_OK; 532 } 533 534 HRESULT STDMETHODCALLTYPE DOMMutationEvent::relatedNode( 535 /* [retval][out] */ IDOMNode** /*result*/) 536 { 537 return E_NOTIMPL; 538 } 539 540 HRESULT STDMETHODCALLTYPE DOMMutationEvent::prevValue( 541 /* [retval][out] */ BSTR* /*result*/) 542 { 543 return E_NOTIMPL; 544 } 545 546 HRESULT STDMETHODCALLTYPE DOMMutationEvent::newValue( 547 /* [retval][out] */ BSTR* /*result*/) 548 { 549 return E_NOTIMPL; 550 } 551 552 HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrName( 553 /* [retval][out] */ BSTR* /*result*/) 554 { 555 return E_NOTIMPL; 556 } 557 558 HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrChange( 559 /* [retval][out] */ unsigned short* /*result*/) 560 { 561 return E_NOTIMPL; 562 } 563 564 HRESULT STDMETHODCALLTYPE DOMMutationEvent::initMutationEvent( 565 /* [in] */ BSTR /*type*/, 566 /* [in] */ BOOL /*canBubble*/, 567 /* [in] */ BOOL /*cancelable*/, 568 /* [in] */ IDOMNode* /*relatedNode*/, 569 /* [in] */ BSTR /*prevValue*/, 570 /* [in] */ BSTR /*newValue*/, 571 /* [in] */ BSTR /*attrName*/, 572 /* [in] */ unsigned short /*attrChange*/) 573 { 574 return E_NOTIMPL; 575 } 576 577 // DOMOverflowEvent ----------------------------------------------------------- 578 579 HRESULT STDMETHODCALLTYPE DOMOverflowEvent::QueryInterface(REFIID riid, void** ppvObject) 580 { 581 *ppvObject = 0; 582 if (IsEqualGUID(riid, IID_IDOMOverflowEvent)) 583 *ppvObject = static_cast<IDOMOverflowEvent*>(this); 584 else 585 return DOMEvent::QueryInterface(riid, ppvObject); 586 587 AddRef(); 588 return S_OK; 589 } 590 591 HRESULT STDMETHODCALLTYPE DOMOverflowEvent::orient( 592 /* [retval][out] */ unsigned short* /*result*/) 593 { 594 return E_NOTIMPL; 595 } 596 597 HRESULT STDMETHODCALLTYPE DOMOverflowEvent::horizontalOverflow( 598 /* [retval][out] */ BOOL* /*result*/) 599 { 600 return E_NOTIMPL; 601 } 602 603 HRESULT STDMETHODCALLTYPE DOMOverflowEvent::verticalOverflow( 604 /* [retval][out] */ BOOL* /*result*/) 605 { 606 return E_NOTIMPL; 607 } 608 609 // DOMWheelEvent -------------------------------------------------------------- 610 611 HRESULT STDMETHODCALLTYPE DOMWheelEvent::QueryInterface(REFIID riid, void** ppvObject) 612 { 613 *ppvObject = 0; 614 if (IsEqualGUID(riid, IID_IDOMWheelEvent)) 615 *ppvObject = static_cast<IDOMWheelEvent*>(this); 616 else 617 return DOMUIEvent::QueryInterface(riid, ppvObject); 618 619 AddRef(); 620 return S_OK; 621 } 622 623 HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenX( 624 /* [retval][out] */ long* /*result*/) 625 { 626 return E_NOTIMPL; 627 } 628 629 HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenY( 630 /* [retval][out] */ long* /*result*/) 631 { 632 return E_NOTIMPL; 633 } 634 635 HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientX( 636 /* [retval][out] */ long* /*result*/) 637 { 638 return E_NOTIMPL; 639 } 640 641 HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientY( 642 /* [retval][out] */ long* /*result*/) 643 { 644 return E_NOTIMPL; 645 } 646 647 HRESULT STDMETHODCALLTYPE DOMWheelEvent::ctrlKey( 648 /* [retval][out] */ BOOL* /*result*/) 649 { 650 return E_NOTIMPL; 651 } 652 653 HRESULT STDMETHODCALLTYPE DOMWheelEvent::shiftKey( 654 /* [retval][out] */ BOOL* /*result*/) 655 { 656 return E_NOTIMPL; 657 } 658 659 HRESULT STDMETHODCALLTYPE DOMWheelEvent::altKey( 660 /* [retval][out] */ BOOL* /*result*/) 661 { 662 return E_NOTIMPL; 663 } 664 665 HRESULT STDMETHODCALLTYPE DOMWheelEvent::metaKey( 666 /* [retval][out] */ BOOL* /*result*/) 667 { 668 return E_NOTIMPL; 669 } 670 671 HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDelta( 672 /* [retval][out] */ long* /*result*/) 673 { 674 return E_NOTIMPL; 675 } 676 677 HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaX( 678 /* [retval][out] */ long* /*result*/) 679 { 680 return E_NOTIMPL; 681 } 682 683 HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaY( 684 /* [retval][out] */ long* /*result*/) 685 { 686 return E_NOTIMPL; 687 } 688 689 HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetX( 690 /* [retval][out] */ long* /*result*/) 691 { 692 return E_NOTIMPL; 693 } 694 695 HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetY( 696 /* [retval][out] */ long* /*result*/) 697 { 698 return E_NOTIMPL; 699 } 700 701 HRESULT STDMETHODCALLTYPE DOMWheelEvent::x( 702 /* [retval][out] */ long* /*result*/) 703 { 704 return E_NOTIMPL; 705 } 706 707 HRESULT STDMETHODCALLTYPE DOMWheelEvent::y( 708 /* [retval][out] */ long* /*result*/) 709 { 710 return E_NOTIMPL; 711 } 712 713 HRESULT STDMETHODCALLTYPE DOMWheelEvent::isHorizontal( 714 /* [retval][out] */ BOOL* /*result*/) 715 { 716 return E_NOTIMPL; 717 } 718 719 HRESULT STDMETHODCALLTYPE DOMWheelEvent::initWheelEvent( 720 /* [in] */ long /*wheelDeltaX*/, 721 /* [in] */ long /*wheelDeltaY*/, 722 /* [in] */ IDOMWindow* /*view*/, 723 /* [in] */ long /*screenX*/, 724 /* [in] */ long /*screenY*/, 725 /* [in] */ long /*clientX*/, 726 /* [in] */ long /*clientY*/, 727 /* [in] */ BOOL /*ctrlKey*/, 728 /* [in] */ BOOL /*altKey*/, 729 /* [in] */ BOOL /*shiftKey*/, 730 /* [in] */ BOOL /*metaKey*/) 731 { 732 return E_NOTIMPL; 733 } 734