DOMEventsClasses.h 41 KB

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