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 38HRESULT 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 50HRESULT STDMETHODCALLTYPE DOMEventListener::handleEvent( 51 /* [in] */ IDOMEvent* /*evt*/) 52{ 53 return E_NOTIMPL; 54} 55 56// DOMEvent ------------------------------------------------------------------- 57 58DOMEvent::DOMEvent(PassRefPtr<WebCore::Event> e) 59: m_event(0) 60{ 61 m_event = e; 62} 63 64DOMEvent::~DOMEvent() 65{ 66} 67 68IDOMEvent* 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 105HRESULT 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 119HRESULT STDMETHODCALLTYPE DOMEvent::type( 120 /* [retval][out] */ BSTR* /*result*/) 121{ 122 return E_NOTIMPL; 123} 124 125HRESULT STDMETHODCALLTYPE DOMEvent::target( 126 /* [retval][out] */ IDOMEventTarget** /*result*/) 127{ 128 return E_NOTIMPL; 129} 130 131HRESULT STDMETHODCALLTYPE DOMEvent::currentTarget( 132 /* [retval][out] */ IDOMEventTarget** /*result*/) 133{ 134 return E_NOTIMPL; 135} 136 137HRESULT STDMETHODCALLTYPE DOMEvent::eventPhase( 138 /* [retval][out] */ unsigned short* /*result*/) 139{ 140 return E_NOTIMPL; 141} 142 143HRESULT STDMETHODCALLTYPE DOMEvent::bubbles( 144 /* [retval][out] */ BOOL* /*result*/) 145{ 146 return E_NOTIMPL; 147} 148 149HRESULT STDMETHODCALLTYPE DOMEvent::cancelable( 150 /* [retval][out] */ BOOL* /*result*/) 151{ 152 return E_NOTIMPL; 153} 154 155HRESULT STDMETHODCALLTYPE DOMEvent::timeStamp( 156 /* [retval][out] */ DOMTimeStamp* /*result*/) 157{ 158 return E_NOTIMPL; 159} 160 161HRESULT STDMETHODCALLTYPE DOMEvent::stopPropagation( void) 162{ 163 return E_NOTIMPL; 164} 165 166HRESULT STDMETHODCALLTYPE DOMEvent::preventDefault( void) 167{ 168 return E_NOTIMPL; 169} 170 171HRESULT 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 181HRESULT 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 193HRESULT STDMETHODCALLTYPE DOMUIEvent::view( 194 /* [retval][out] */ IDOMWindow** /*result*/) 195{ 196 return E_NOTIMPL; 197} 198 199HRESULT STDMETHODCALLTYPE DOMUIEvent::detail( 200 /* [retval][out] */ long* /*result*/) 201{ 202 return E_NOTIMPL; 203} 204 205HRESULT 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 215HRESULT STDMETHODCALLTYPE DOMUIEvent::keyCode( 216 /* [retval][out] */ long* /*result*/) 217{ 218 return E_NOTIMPL; 219} 220 221HRESULT STDMETHODCALLTYPE DOMUIEvent::charCode( 222 /* [retval][out] */ long* /*result*/) 223{ 224 return E_NOTIMPL; 225} 226 227HRESULT STDMETHODCALLTYPE DOMUIEvent::layerX( 228 /* [retval][out] */ long* /*result*/) 229{ 230 return E_NOTIMPL; 231} 232 233HRESULT STDMETHODCALLTYPE DOMUIEvent::layerY( 234 /* [retval][out] */ long* /*result*/) 235{ 236 return E_NOTIMPL; 237} 238 239HRESULT STDMETHODCALLTYPE DOMUIEvent::pageX( 240 /* [retval][out] */ long* /*result*/) 241{ 242 return E_NOTIMPL; 243} 244 245HRESULT STDMETHODCALLTYPE DOMUIEvent::pageY( 246 /* [retval][out] */ long* /*result*/) 247{ 248 return E_NOTIMPL; 249} 250 251HRESULT STDMETHODCALLTYPE DOMUIEvent::which( 252 /* [retval][out] */ long* /*result*/) 253{ 254 return E_NOTIMPL; 255} 256 257// DOMKeyboardEvent ----------------------------------------------------------- 258 259HRESULT 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 271HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyIdentifier( 272 /* [retval][out] */ BSTR* /*result*/) 273{ 274 return E_NOTIMPL; 275} 276 277HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::keyLocation( 278 /* [retval][out] */ unsigned long* /*result*/) 279{ 280 return E_NOTIMPL; 281} 282 283HRESULT 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 295HRESULT 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 307HRESULT 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 319HRESULT 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 331HRESULT 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 343HRESULT STDMETHODCALLTYPE DOMKeyboardEvent::getModifierState( 344 /* [in] */ BSTR /*keyIdentifierArg*/, 345 /* [retval][out] */ BOOL* /*result*/) 346{ 347 return E_NOTIMPL; 348} 349 350HRESULT 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 368HRESULT 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 380HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenX( 381 /* [retval][out] */ long* /*result*/) 382{ 383 return E_NOTIMPL; 384} 385 386HRESULT STDMETHODCALLTYPE DOMMouseEvent::screenY( 387 /* [retval][out] */ long* /*result*/) 388{ 389 return E_NOTIMPL; 390} 391 392HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientX( 393 /* [retval][out] */ long* /*result*/) 394{ 395 return E_NOTIMPL; 396} 397 398HRESULT STDMETHODCALLTYPE DOMMouseEvent::clientY( 399 /* [retval][out] */ long* /*result*/) 400{ 401 return E_NOTIMPL; 402} 403 404HRESULT 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 416HRESULT 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 428HRESULT 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 440HRESULT 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 452HRESULT STDMETHODCALLTYPE DOMMouseEvent::button( 453 /* [retval][out] */ unsigned short* /*result*/) 454{ 455 return E_NOTIMPL; 456} 457 458HRESULT STDMETHODCALLTYPE DOMMouseEvent::relatedTarget( 459 /* [retval][out] */ IDOMEventTarget** /*result*/) 460{ 461 return E_NOTIMPL; 462} 463 464HRESULT 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 484HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetX( 485 /* [retval][out] */ long* /*result*/) 486{ 487 return E_NOTIMPL; 488} 489 490HRESULT STDMETHODCALLTYPE DOMMouseEvent::offsetY( 491 /* [retval][out] */ long* /*result*/) 492{ 493 return E_NOTIMPL; 494} 495 496HRESULT STDMETHODCALLTYPE DOMMouseEvent::x( 497 /* [retval][out] */ long* /*result*/) 498{ 499 return E_NOTIMPL; 500} 501 502HRESULT STDMETHODCALLTYPE DOMMouseEvent::y( 503 /* [retval][out] */ long* /*result*/) 504{ 505 return E_NOTIMPL; 506} 507 508HRESULT STDMETHODCALLTYPE DOMMouseEvent::fromElement( 509 /* [retval][out] */ IDOMNode** /*result*/) 510{ 511 return E_NOTIMPL; 512} 513 514HRESULT STDMETHODCALLTYPE DOMMouseEvent::toElement( 515 /* [retval][out] */ IDOMNode** /*result*/) 516{ 517 return E_NOTIMPL; 518} 519 520// DOMMutationEvent ----------------------------------------------------------- 521 522HRESULT 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 534HRESULT STDMETHODCALLTYPE DOMMutationEvent::relatedNode( 535 /* [retval][out] */ IDOMNode** /*result*/) 536{ 537 return E_NOTIMPL; 538} 539 540HRESULT STDMETHODCALLTYPE DOMMutationEvent::prevValue( 541 /* [retval][out] */ BSTR* /*result*/) 542{ 543 return E_NOTIMPL; 544} 545 546HRESULT STDMETHODCALLTYPE DOMMutationEvent::newValue( 547 /* [retval][out] */ BSTR* /*result*/) 548{ 549 return E_NOTIMPL; 550} 551 552HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrName( 553 /* [retval][out] */ BSTR* /*result*/) 554{ 555 return E_NOTIMPL; 556} 557 558HRESULT STDMETHODCALLTYPE DOMMutationEvent::attrChange( 559 /* [retval][out] */ unsigned short* /*result*/) 560{ 561 return E_NOTIMPL; 562} 563 564HRESULT 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 579HRESULT 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 591HRESULT STDMETHODCALLTYPE DOMOverflowEvent::orient( 592 /* [retval][out] */ unsigned short* /*result*/) 593{ 594 return E_NOTIMPL; 595} 596 597HRESULT STDMETHODCALLTYPE DOMOverflowEvent::horizontalOverflow( 598 /* [retval][out] */ BOOL* /*result*/) 599{ 600 return E_NOTIMPL; 601} 602 603HRESULT STDMETHODCALLTYPE DOMOverflowEvent::verticalOverflow( 604 /* [retval][out] */ BOOL* /*result*/) 605{ 606 return E_NOTIMPL; 607} 608 609// DOMWheelEvent -------------------------------------------------------------- 610 611HRESULT 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 623HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenX( 624 /* [retval][out] */ long* /*result*/) 625{ 626 return E_NOTIMPL; 627} 628 629HRESULT STDMETHODCALLTYPE DOMWheelEvent::screenY( 630 /* [retval][out] */ long* /*result*/) 631{ 632 return E_NOTIMPL; 633} 634 635HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientX( 636 /* [retval][out] */ long* /*result*/) 637{ 638 return E_NOTIMPL; 639} 640 641HRESULT STDMETHODCALLTYPE DOMWheelEvent::clientY( 642 /* [retval][out] */ long* /*result*/) 643{ 644 return E_NOTIMPL; 645} 646 647HRESULT STDMETHODCALLTYPE DOMWheelEvent::ctrlKey( 648 /* [retval][out] */ BOOL* /*result*/) 649{ 650 return E_NOTIMPL; 651} 652 653HRESULT STDMETHODCALLTYPE DOMWheelEvent::shiftKey( 654 /* [retval][out] */ BOOL* /*result*/) 655{ 656 return E_NOTIMPL; 657} 658 659HRESULT STDMETHODCALLTYPE DOMWheelEvent::altKey( 660 /* [retval][out] */ BOOL* /*result*/) 661{ 662 return E_NOTIMPL; 663} 664 665HRESULT STDMETHODCALLTYPE DOMWheelEvent::metaKey( 666 /* [retval][out] */ BOOL* /*result*/) 667{ 668 return E_NOTIMPL; 669} 670 671HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDelta( 672 /* [retval][out] */ long* /*result*/) 673{ 674 return E_NOTIMPL; 675} 676 677HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaX( 678 /* [retval][out] */ long* /*result*/) 679{ 680 return E_NOTIMPL; 681} 682 683HRESULT STDMETHODCALLTYPE DOMWheelEvent::wheelDeltaY( 684 /* [retval][out] */ long* /*result*/) 685{ 686 return E_NOTIMPL; 687} 688 689HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetX( 690 /* [retval][out] */ long* /*result*/) 691{ 692 return E_NOTIMPL; 693} 694 695HRESULT STDMETHODCALLTYPE DOMWheelEvent::offsetY( 696 /* [retval][out] */ long* /*result*/) 697{ 698 return E_NOTIMPL; 699} 700 701HRESULT STDMETHODCALLTYPE DOMWheelEvent::x( 702 /* [retval][out] */ long* /*result*/) 703{ 704 return E_NOTIMPL; 705} 706 707HRESULT STDMETHODCALLTYPE DOMWheelEvent::y( 708 /* [retval][out] */ long* /*result*/) 709{ 710 return E_NOTIMPL; 711} 712 713HRESULT STDMETHODCALLTYPE DOMWheelEvent::isHorizontal( 714 /* [retval][out] */ BOOL* /*result*/) 715{ 716 return E_NOTIMPL; 717} 718 719HRESULT 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