1 /*
2 * Copyright (c) 2002-2026 Gargoyle Software Inc.
3 *
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 * https://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15 package org.htmlunit.javascript.host.svg;
16
17 import static org.htmlunit.javascript.configuration.SupportedBrowser.CHROME;
18 import static org.htmlunit.javascript.configuration.SupportedBrowser.EDGE;
19 import static org.htmlunit.javascript.configuration.SupportedBrowser.FF;
20 import static org.htmlunit.javascript.configuration.SupportedBrowser.FF_ESR;
21
22 import org.htmlunit.corejs.javascript.Function;
23 import org.htmlunit.javascript.JavaScriptEngine;
24 import org.htmlunit.javascript.configuration.JsxClass;
25 import org.htmlunit.javascript.configuration.JsxConstructor;
26 import org.htmlunit.javascript.configuration.JsxGetter;
27 import org.htmlunit.javascript.configuration.JsxSetter;
28 import org.htmlunit.javascript.host.Element;
29 import org.htmlunit.javascript.host.css.CSSStyleDeclaration;
30 import org.htmlunit.javascript.host.event.Event;
31 import org.htmlunit.javascript.host.event.MouseEvent;
32 import org.htmlunit.svg.SvgElement;
33
34 /**
35 * JavaScript host object for {@code SVGElement}.
36 *
37 * @author Ahmed Ashour
38 * @author Ronald Brill
39 *
40 * @see <a href="https://developer.mozilla.org/en-US/docs/Web/API/SVGElement">MDN Documentation</a>
41 */
42 @JsxClass(domClass = SvgElement.class)
43 public class SVGElement extends Element {
44
45 /**
46 * Creates an instance of this object.
47 */
48 @Override
49 @JsxConstructor
50 public void jsConstructor() {
51 throw JavaScriptEngine.typeErrorIllegalConstructor();
52 }
53
54 /**
55 * Returns the bounding box, in current user space, of the geometry of all contained graphics elements.
56 *
57 * @return the bounding box
58 */
59 protected SVGRect getBBox() {
60 final SVGRect rect = new SVGRect();
61 rect.setParentScope(getParentScope());
62 rect.setPrototype(getPrototype(rect.getClass()));
63 return rect;
64 }
65
66 /**
67 * {@inheritDoc}
68 */
69 @Override
70 @JsxGetter
71 public CSSStyleDeclaration getStyle() {
72 return super.getStyle();
73 }
74
75 /**
76 * {@inheritDoc}
77 */
78 @Override
79 @JsxSetter
80 public void setStyle(final String style) {
81 super.setStyle(style);
82 }
83
84 /**
85 * Returns the {@code onfocus} event handler.
86 *
87 * @return the {@code onfocus} event handler
88 */
89 @JsxGetter
90 public Function getOnfocus() {
91 return getEventHandler(Event.TYPE_FOCUS);
92 }
93
94 /**
95 * Sets the {@code onfocus} event handler.
96 *
97 * @param focus the {@code onfocus} event handler
98 */
99 @JsxSetter
100 public void setOnfocus(final Object focus) {
101 setEventHandler(Event.TYPE_FOCUS, focus);
102 }
103
104 /**
105 * Returns the {@code ondragend} event handler.
106 *
107 * @return the {@code ondragend} event handler
108 */
109 @JsxGetter
110 public Function getOndragend() {
111 return getEventHandler(Event.TYPE_DRAGEND);
112 }
113
114 /**
115 * Sets the {@code ondragend} event handler.
116 *
117 * @param dragend the {@code ondragend} event handler
118 */
119 @JsxSetter
120 public void setOndragend(final Object dragend) {
121 setEventHandler(Event.TYPE_DRAGEND, dragend);
122 }
123
124 /**
125 * Returns the {@code oninvalid} event handler.
126 *
127 * @return the {@code oninvalid} event handler
128 */
129 @JsxGetter
130 public Function getOninvalid() {
131 return getEventHandler(Event.TYPE_INVALID);
132 }
133
134 /**
135 * Sets the {@code oninvalid} event handler.
136 *
137 * @param invalid the {@code oninvalid} event handler
138 */
139 @JsxSetter
140 public void setOninvalid(final Object invalid) {
141 setEventHandler(Event.TYPE_INVALID, invalid);
142 }
143
144 /**
145 * Returns the {@code onpointercancel} event handler for this element.
146 *
147 * @return the {@code onpointercancel} event handler for this element
148 */
149 @JsxGetter({CHROME, EDGE})
150 public Function getOnpointercancel() {
151 return getEventHandler(Event.TYPE_POINTERCANCEL);
152 }
153
154 /**
155 * Sets the {@code onpointercancel} event handler.
156 *
157 * @param pointercancel the {@code onpointercancel} event handler
158 */
159 @JsxSetter({CHROME, EDGE})
160 public void setOnpointercancel(final Object pointercancel) {
161 setEventHandler(Event.TYPE_POINTERCANCEL, pointercancel);
162 }
163
164 /**
165 * Returns the {@code onpointerout} event handler for this element.
166 *
167 * @return the {@code onpointerout} event handler for this element
168 */
169 @JsxGetter({CHROME, EDGE})
170 public Function getOnpointerout() {
171 return getEventHandler(Event.TYPE_POINTEROUT);
172 }
173
174 /**
175 * Sets the {@code onpointerout} event handler.
176 *
177 * @param pointerout the {@code onpointerout} event handler
178 */
179 @JsxSetter({CHROME, EDGE})
180 public void setOnpointerout(final Object pointerout) {
181 setEventHandler(Event.TYPE_POINTEROUT, pointerout);
182 }
183
184 /**
185 * Returns the {@code onratechange} event handler.
186 *
187 * @return the {@code onratechange} event handler
188 */
189 @JsxGetter
190 public Function getOnratechange() {
191 return getEventHandler(Event.TYPE_RATECHANGE);
192 }
193
194 /**
195 * Sets the {@code onratechange} event handler.
196 *
197 * @param ratechange the {@code onratechange} event handler
198 */
199 @JsxSetter
200 public void setOnratechange(final Object ratechange) {
201 setEventHandler(Event.TYPE_RATECHANGE, ratechange);
202 }
203
204 /**
205 * Returns the {@code onresize} event handler.
206 *
207 * @return the {@code onresize} event handler
208 */
209 @JsxGetter
210 public Function getOnresize() {
211 return getEventHandler(Event.TYPE_RESIZE);
212 }
213
214 /**
215 * Sets the {@code onresize} event handler.
216 *
217 * @param resize the {@code onresize} event handler
218 */
219 @JsxSetter
220 public void setOnresize(final Object resize) {
221 setEventHandler(Event.TYPE_RESIZE, resize);
222 }
223
224 /**
225 * Returns the {@code oncanplaythrough} event handler.
226 *
227 * @return the {@code oncanplaythrough} event handler
228 */
229 @JsxGetter
230 public Function getOncanplaythrough() {
231 return getEventHandler(Event.TYPE_CANPLAYTHROUGH);
232 }
233
234 /**
235 * Sets the {@code oncanplaythrough} event handler.
236 *
237 * @param canplaythrough the {@code oncanplaythrough} event handler
238 */
239 @JsxSetter
240 public void setOncanplaythrough(final Object canplaythrough) {
241 setEventHandler(Event.TYPE_CANPLAYTHROUGH, canplaythrough);
242 }
243
244 /**
245 * Returns the {@code oncancel} event handler.
246 *
247 * @return the {@code oncancel} event handler
248 */
249 @JsxGetter({CHROME, EDGE})
250 public Function getOncancel() {
251 return getEventHandler(Event.TYPE_CANCEL);
252 }
253
254 /**
255 * Sets the {@code oncancel} event handler.
256 *
257 * @param cancel the {@code oncancel} event handler
258 */
259 @JsxSetter({CHROME, EDGE})
260 public void setOncancel(final Object cancel) {
261 setEventHandler(Event.TYPE_CANCEL, cancel);
262 }
263
264 /**
265 * Returns the {@code onpointerenter} event handler.
266 *
267 * @return the {@code onpointerenter} event handler
268 */
269 @JsxGetter({CHROME, EDGE})
270 public Function getOnpointerenter() {
271 return getEventHandler(Event.TYPE_POINTERENTER);
272 }
273
274 /**
275 * Sets the {@code onpointerenter} event handler.
276 *
277 * @param pointerenter the {@code onpointerenter} event handler
278 */
279 @JsxSetter({CHROME, EDGE})
280 public void setOnpointerenter(final Object pointerenter) {
281 setEventHandler(Event.TYPE_POINTERENTER, pointerenter);
282 }
283
284 /**
285 * Returns the {@code onselect} event handler.
286 *
287 * @return the {@code onselect} event handler
288 */
289 @JsxGetter
290 public Function getOnselect() {
291 return getEventHandler(Event.TYPE_SELECT);
292 }
293
294 /**
295 * Sets the {@code onselect} event handler.
296 *
297 * @param select the {@code onselect} event handler
298 */
299 @JsxSetter
300 public void setOnselect(final Object select) {
301 setEventHandler(Event.TYPE_SELECT, select);
302 }
303
304 /**
305 * Returns the {@code onselectstart} event handler for this element.
306 *
307 * @return the {@code onselectstart} event handler for this element
308 */
309 @JsxGetter
310 public Function getOnselectstart() {
311 return getEventHandler(Event.TYPE_SELECTSTART);
312 }
313
314 /**
315 * Sets the {@code onselectstart} event handler for this element.
316 *
317 * @param onselectstart the {@code onselectstart} event handler for this element
318 */
319 @JsxSetter
320 public void setOnselectstart(final Object onselectstart) {
321 setEventHandler(Event.TYPE_SELECTSTART, onselectstart);
322 }
323
324 /**
325 * Returns the {@code onselectionchange} event handler for this element.
326 *
327 * @return the {@code onselectionchange} event handler for this element
328 */
329 @JsxGetter
330 public Function getOnselectionchange() {
331 return getEventHandler(Event.TYPE_SELECTIONCHANGE);
332 }
333
334 /**
335 * Sets the {@code onselectionchange} event handler for this element.
336 *
337 * @param onselectionchange the {@code onselectionchange} event handler for this element
338 */
339 @JsxSetter
340 public void setOnselectionchange(final Object onselectionchange) {
341 setEventHandler(Event.TYPE_SELECTIONCHANGE, onselectionchange);
342 }
343
344 /**
345 * Returns the {@code onauxclick} event handler.
346 *
347 * @return the {@code onauxclick} event handler
348 */
349 @JsxGetter({CHROME, EDGE})
350 public Function getOnauxclick() {
351 return getEventHandler(Event.TYPE_AUXCLICK);
352 }
353
354 /**
355 * Sets the {@code onauxclick} event handler.
356 *
357 * @param auxclick the {@code onauxclick} event handler
358 */
359 @JsxSetter({CHROME, EDGE})
360 public void setOnauxclick(final Object auxclick) {
361 setEventHandler(Event.TYPE_AUXCLICK, auxclick);
362 }
363
364 /**
365 * Returns the {@code onpause} event handler.
366 *
367 * @return the {@code onpause} event handler
368 */
369 @JsxGetter
370 public Function getOnpause() {
371 return getEventHandler(Event.TYPE_PAUSE);
372 }
373
374 /**
375 * Sets the {@code onpause} event handler.
376 *
377 * @param pause the {@code onpause} event handler
378 */
379 @JsxSetter
380 public void setOnpause(final Object pause) {
381 setEventHandler(Event.TYPE_PAUSE, pause);
382 }
383
384 /**
385 * Returns the {@code onloadstart} event handler.
386 *
387 * @return the {@code onloadstart} event handler
388 */
389 @JsxGetter
390 public Function getOnloadstart() {
391 return getEventHandler(Event.TYPE_LOAD_START);
392 }
393
394 /**
395 * Sets the {@code onloadstart} event handler.
396 *
397 * @param loadstart the {@code onloadstart} event handler
398 */
399 @JsxSetter
400 public void setOnloadstart(final Object loadstart) {
401 setEventHandler(Event.TYPE_LOAD_START, loadstart);
402 }
403
404 /**
405 * Returns the {@code onprogress} event handler.
406 *
407 * @return the {@code onprogress} event handler
408 */
409 @JsxGetter
410 public Function getOnprogress() {
411 return getEventHandler(Event.TYPE_PROGRESS);
412 }
413
414 /**
415 * Sets the {@code onprogress} event handler.
416 *
417 * @param progress the {@code onprogress} event handler
418 */
419 @JsxSetter
420 public void setOnprogress(final Object progress) {
421 setEventHandler(Event.TYPE_PROGRESS, progress);
422 }
423
424 /**
425 * Returns the {@code onpointerup} event handler for this element.
426 *
427 * @return the {@code onpointerup} event handler for this element
428 */
429 @JsxGetter({CHROME, EDGE})
430 public Function getOnpointerup() {
431 return getEventHandler(Event.TYPE_POINTERUP);
432 }
433
434 /**
435 * Sets the {@code onpointerup} event handler.
436 *
437 * @param pointerup the {@code onpointerup} event handler
438 */
439 @JsxSetter({CHROME, EDGE})
440 public void setOnpointerup(final Object pointerup) {
441 setEventHandler(Event.TYPE_POINTERUP, pointerup);
442 }
443
444 /**
445 * Returns the {@code onscroll} event handler.
446 *
447 * @return the {@code onscroll} event handler
448 */
449 @JsxGetter
450 public Function getOnscroll() {
451 return getEventHandler(Event.TYPE_SCROLL);
452 }
453
454 /**
455 * Sets the {@code onscroll} event handler.
456 *
457 * @param scroll the {@code onscroll} event handler
458 */
459 @JsxSetter
460 public void setOnscroll(final Object scroll) {
461 setEventHandler(Event.TYPE_SCROLL, scroll);
462 }
463
464 /**
465 * Returns the {@code onscrollend} event handler.
466 *
467 * @return the {@code onscrollend} event handler
468 */
469 @JsxGetter
470 public Function getOnscrollend() {
471 return getEventHandler(Event.TYPE_SCROLLEND);
472 }
473
474 /**
475 * Sets the {@code onscrollend} event handler.
476 *
477 * @param scrollend the {@code onscrollend} event handler
478 */
479 @JsxSetter
480 public void setOnscrollend(final Object scrollend) {
481 setEventHandler(Event.TYPE_SCROLLEND, scrollend);
482 }
483
484 /**
485 * Returns the {@code onkeydown} event handler.
486 *
487 * @return the {@code onkeydown} event handler
488 */
489 @JsxGetter
490 public Function getOnkeydown() {
491 return getEventHandler(Event.TYPE_KEY_DOWN);
492 }
493
494 /**
495 * Sets the {@code onkeydown} event handler.
496 *
497 * @param keydown the {@code onkeydown} event handler
498 */
499 @JsxSetter
500 public void setOnkeydown(final Object keydown) {
501 setEventHandler(Event.TYPE_KEY_DOWN, keydown);
502 }
503
504 /**
505 * Returns the {@code onpointerleave} event handler.
506 *
507 * @return the {@code onpointerleave} event handler
508 */
509 @JsxGetter({CHROME, EDGE})
510 public Function getOnpointerleave() {
511 return getEventHandler(Event.TYPE_POINTERLEAVE);
512 }
513
514 /**
515 * Sets the {@code onpointerleave} event handler.
516 *
517 * @param pointerleave the {@code onpointerleave} event handler
518 */
519 @JsxSetter({CHROME, EDGE})
520 public void setOnpointerleave(final Object pointerleave) {
521 setEventHandler(Event.TYPE_POINTERLEAVE, pointerleave);
522 }
523
524 /**
525 * Returns the {@code onclick} event handler.
526 *
527 * @return the {@code onclick} event handler
528 */
529 @JsxGetter
530 public Function getOnclick() {
531 return getEventHandler(MouseEvent.TYPE_CLICK);
532 }
533
534 /**
535 * Sets the {@code onclick} event handler.
536 *
537 * @param click the {@code onclick} event handler
538 */
539 @JsxSetter
540 public void setOnclick(final Object click) {
541 setEventHandler(MouseEvent.TYPE_CLICK, click);
542 }
543
544 /**
545 * Returns the {@code onkeyup} event handler.
546 *
547 * @return the {@code onkeyup} event handler
548 */
549 @JsxGetter
550 public Function getOnkeyup() {
551 return getEventHandler(Event.TYPE_KEY_UP);
552 }
553
554 /**
555 * Sets the {@code onkeyup} event handler.
556 *
557 * @param keyup the {@code onkeyup} event handler
558 */
559 @JsxSetter
560 public void setOnkeyup(final Object keyup) {
561 setEventHandler(Event.TYPE_KEY_UP, keyup);
562 }
563
564 /**
565 * Returns the {@code onchange} event handler.
566 *
567 * @return the {@code onchange} event handler
568 */
569 @JsxGetter
570 public Function getOnchange() {
571 return getEventHandler(Event.TYPE_CHANGE);
572 }
573
574 /**
575 * Sets the {@code onchange} event handler.
576 *
577 * @param change the {@code onchange} event handler
578 */
579 @JsxSetter
580 public void setOnchange(final Object change) {
581 setEventHandler(Event.TYPE_CHANGE, change);
582 }
583
584 /**
585 * Returns the {@code onreset} event handler.
586 *
587 * @return the {@code onreset} event handler
588 */
589 @JsxGetter
590 public Function getOnreset() {
591 return getEventHandler(Event.TYPE_RESET);
592 }
593
594 /**
595 * Sets the {@code onreset} event handler.
596 *
597 * @param reset the {@code onreset} event handler
598 */
599 @JsxSetter
600 public void setOnreset(final Object reset) {
601 setEventHandler(Event.TYPE_RESET, reset);
602 }
603
604 /**
605 * Returns the {@code onkeypress} event handler.
606 *
607 * @return the {@code onkeypress} event handler
608 */
609 @JsxGetter
610 public Function getOnkeypress() {
611 return getEventHandler(Event.TYPE_KEY_PRESS);
612 }
613
614 /**
615 * Sets the {@code onkeypress} event handler.
616 *
617 * @param keypress the {@code onkeypress} event handler
618 */
619 @JsxSetter
620 public void setOnkeypress(final Object keypress) {
621 setEventHandler(Event.TYPE_KEY_PRESS, keypress);
622 }
623
624 /**
625 * Returns the {@code ontimeupdate} event handler.
626 *
627 * @return the {@code ontimeupdate} event handler
628 */
629 @JsxGetter
630 public Function getOntimeupdate() {
631 return getEventHandler(Event.TYPE_TIMEUPDATE);
632 }
633
634 /**
635 * Sets the {@code ontimeupdate} event handler.
636 *
637 * @param timeupdate the {@code ontimeupdate} event handler
638 */
639 @JsxSetter
640 public void setOntimeupdate(final Object timeupdate) {
641 setEventHandler(Event.TYPE_TIMEUPDATE, timeupdate);
642 }
643
644 /**
645 * Returns the {@code ondblclick} event handler.
646 *
647 * @return the {@code ondblclick} event handler
648 */
649 @JsxGetter
650 public Function getOndblclick() {
651 return getEventHandler(MouseEvent.TYPE_DBL_CLICK);
652 }
653
654 /**
655 * Sets the {@code ondblclick} event handler.
656 *
657 * @param dblclick the {@code ondblclick} event handler
658 */
659 @JsxSetter
660 public void setOndblclick(final Object dblclick) {
661 setEventHandler(MouseEvent.TYPE_DBL_CLICK, dblclick);
662 }
663
664 /**
665 * Returns the {@code ondrag} event handler.
666 *
667 * @return the {@code ondrag} event handler
668 */
669 @JsxGetter
670 public Function getOndrag() {
671 return getEventHandler(Event.TYPE_DRAG);
672 }
673
674 /**
675 * Sets the {@code ondrag} event handler.
676 *
677 * @param drag the {@code ondrag} event handler
678 */
679 @JsxSetter
680 public void setOndrag(final Object drag) {
681 setEventHandler(Event.TYPE_DRAG, drag);
682 }
683
684 /**
685 * Returns the {@code onseeked} event handler.
686 *
687 * @return the {@code onseeked} event handler
688 */
689 @JsxGetter
690 public Function getOnseeked() {
691 return getEventHandler(Event.TYPE_SEEKED);
692 }
693
694 /**
695 * Sets the {@code onseeked} event handler.
696 *
697 * @param seeked the {@code onseeked} event handler
698 */
699 @JsxSetter
700 public void setOnseeked(final Object seeked) {
701 setEventHandler(Event.TYPE_SEEKED, seeked);
702 }
703
704 /**
705 * Returns the {@code onabort} event handler.
706 *
707 * @return the {@code onabort} event handler
708 */
709 @JsxGetter
710 public Function getOnabort() {
711 return getEventHandler(Event.TYPE_ABORT);
712 }
713
714 /**
715 * Sets the {@code onabort} event handler.
716 *
717 * @param abort the {@code onabort} event handler
718 */
719 @JsxSetter
720 public void setOnabort(final Object abort) {
721 setEventHandler(Event.TYPE_ABORT, abort);
722 }
723
724 /**
725 * Returns the {@code onloadedmetadata} event handler.
726 *
727 * @return the {@code onloadedmetadata} event handler
728 */
729 @JsxGetter
730 public Function getOnloadedmetadata() {
731 return getEventHandler(Event.TYPE_LOADEDMETADATA);
732 }
733
734 /**
735 * Sets the {@code onloadedmetadata} event handler.
736 *
737 * @param loadedmetadata the {@code onloadedmetadata} event handler
738 */
739 @JsxSetter
740 public void setOnloadedmetadata(final Object loadedmetadata) {
741 setEventHandler(Event.TYPE_LOADEDMETADATA, loadedmetadata);
742 }
743
744 /**
745 * Returns the {@code ontoggle} event handler.
746 *
747 * @return the {@code ontoggle} event handler
748 */
749 @JsxGetter({CHROME, EDGE})
750 public Function getOntoggle() {
751 return getEventHandler(Event.TYPE_TOGGLE);
752 }
753
754 /**
755 * Sets the {@code ontoggle} event handler.
756 *
757 * @param toggle the {@code ontoggle} event handler
758 */
759 @JsxSetter({CHROME, EDGE})
760 public void setOntoggle(final Object toggle) {
761 setEventHandler(Event.TYPE_TOGGLE, toggle);
762 }
763
764 /**
765 * Returns the {@code onplay} event handler.
766 *
767 * @return the {@code onplay} event handler
768 */
769 @JsxGetter
770 public Function getOnplay() {
771 return getEventHandler(Event.TYPE_PLAY);
772 }
773
774 /**
775 * Sets the {@code onplay} event handler.
776 *
777 * @param play the {@code onplay} event handler
778 */
779 @JsxSetter
780 public void setOnplay(final Object play) {
781 setEventHandler(Event.TYPE_PLAY, play);
782 }
783
784 /**
785 * Returns the {@code oncontextmenu} event handler.
786 *
787 * @return the {@code oncontextmenu} event handler
788 */
789 @JsxGetter
790 public Function getOncontextmenu() {
791 return getEventHandler(MouseEvent.TYPE_CONTEXT_MENU);
792 }
793
794 /**
795 * Sets the {@code oncontextmenu} event handler.
796 *
797 * @param contextmenu the {@code oncontextmenu} event handler
798 */
799 @JsxSetter
800 public void setOncontextmenu(final Object contextmenu) {
801 setEventHandler(MouseEvent.TYPE_CONTEXT_MENU, contextmenu);
802 }
803
804 /**
805 * Returns the {@code onmousemove} event handler.
806 *
807 * @return the {@code onmousemove} event handler
808 */
809 @JsxGetter
810 public Function getOnmousemove() {
811 return getEventHandler(MouseEvent.TYPE_MOUSE_MOVE);
812 }
813
814 /**
815 * Sets the {@code onmousemove} event handler.
816 *
817 * @param mousemove the {@code onmousemove} event handler
818 */
819 @JsxSetter
820 public void setOnmousemove(final Object mousemove) {
821 setEventHandler(MouseEvent.TYPE_MOUSE_MOVE, mousemove);
822 }
823
824 /**
825 * Returns the {@code onerror} event handler.
826 *
827 * @return the {@code onerror} event handler
828 */
829 @JsxGetter
830 public Function getOnerror() {
831 return getEventHandler(Event.TYPE_ERROR);
832 }
833
834 /**
835 * Sets the {@code onerror} event handler.
836 *
837 * @param error the {@code onerror} event handler
838 */
839 @JsxSetter
840 public void setOnerror(final Object error) {
841 setEventHandler(Event.TYPE_ERROR, error);
842 }
843
844 /**
845 * Returns the {@code onmouseup} event handler.
846 *
847 * @return the {@code onmouseup} event handler
848 */
849 @JsxGetter
850 public Function getOnmouseup() {
851 return getEventHandler(MouseEvent.TYPE_MOUSE_UP);
852 }
853
854 /**
855 * Sets the {@code onmouseup} event handler.
856 *
857 * @param mouseup the {@code onmouseup} event handler
858 */
859 @JsxSetter
860 public void setOnmouseup(final Object mouseup) {
861 setEventHandler(MouseEvent.TYPE_MOUSE_UP, mouseup);
862 }
863
864 /**
865 * Returns the {@code ondragover} event handler.
866 *
867 * @return the {@code ondragover} event handler
868 */
869 @JsxGetter
870 public Function getOndragover() {
871 return getEventHandler(Event.TYPE_DRAGOVER);
872 }
873
874 /**
875 * Sets the {@code ondragover} event handler.
876 *
877 * @param dragover the {@code ondragover} event handler
878 */
879 @JsxSetter
880 public void setOndragover(final Object dragover) {
881 setEventHandler(Event.TYPE_DRAGOVER, dragover);
882 }
883
884 /**
885 * Returns the {@code onpointermove} event handler for this element.
886 *
887 * @return the {@code onpointermove} event handler for this element
888 */
889 @JsxGetter({CHROME, EDGE})
890 public Function getOnpointermove() {
891 return getEventHandler(Event.TYPE_POINTERMOVE);
892 }
893
894 /**
895 * Sets the {@code onpointermove} event handler.
896 *
897 * @param pointermove the {@code onpointermove} event handler
898 */
899 @JsxSetter({CHROME, EDGE})
900 public void setOnpointermove(final Object pointermove) {
901 setEventHandler(Event.TYPE_POINTERMOVE, pointermove);
902 }
903
904 /**
905 * Returns the {@code oncut} event handler.
906 *
907 * @return the {@code oncut} event handler
908 */
909 @JsxGetter
910 public Function getOncut() {
911 return getEventHandler(Event.TYPE_CUT);
912 }
913
914 /**
915 * Sets the {@code oncut} event handler.
916 *
917 * @param cut the {@code oncut} event handler
918 */
919 @JsxSetter
920 public void setOncut(final Object cut) {
921 setEventHandler(Event.TYPE_CUT, cut);
922 }
923
924 /**
925 * Returns the {@code onmouseover} event handler.
926 *
927 * @return the {@code onmouseover} event handler
928 */
929 @JsxGetter
930 public Function getOnmouseover() {
931 return getEventHandler(MouseEvent.TYPE_MOUSE_OVER);
932 }
933
934 /**
935 * Sets the {@code onmouseover} event handler.
936 *
937 * @param mouseover the {@code onmouseover} event handler
938 */
939 @JsxSetter
940 public void setOnmouseover(final Object mouseover) {
941 setEventHandler(MouseEvent.TYPE_MOUSE_OVER, mouseover);
942 }
943
944 /**
945 * Returns the {@code oninput} event handler.
946 *
947 * @return the {@code oninput} event handler
948 */
949 @JsxGetter
950 public Function getOninput() {
951 return getEventHandler(Event.TYPE_INPUT);
952 }
953
954 /**
955 * Sets the {@code oninput} event handler.
956 *
957 * @param input the {@code oninput} event handler
958 */
959 @JsxSetter
960 public void setOninput(final Object input) {
961 setEventHandler(Event.TYPE_INPUT, input);
962 }
963
964 /**
965 * Returns the {@code onlostpointercapture} event handler for this element.
966 *
967 * @return the {@code onlostpointercapture} event handler for this element
968 */
969 @JsxGetter({CHROME, EDGE})
970 public Function getOnlostpointercapture() {
971 return getEventHandler(Event.TYPE_LOSTPOINTERCAPTURE);
972 }
973
974 /**
975 * Sets the {@code onlostpointercapture} event handler.
976 *
977 * @param lostpointercapture the {@code onlostpointercapture} event handler
978 */
979 @JsxSetter({CHROME, EDGE})
980 public void setOnlostpointercapture(final Object lostpointercapture) {
981 setEventHandler(Event.TYPE_LOSTPOINTERCAPTURE, lostpointercapture);
982 }
983
984 /**
985 * Returns the {@code onstalled} event handler.
986 *
987 * @return the {@code onstalled} event handler
988 */
989 @JsxGetter
990 public Function getOnstalled() {
991 return getEventHandler(Event.TYPE_STALLED);
992 }
993
994 /**
995 * Sets the {@code onstalled} event handler.
996 *
997 * @param stalled the {@code onstalled} event handler
998 */
999 @JsxSetter
1000 public void setOnstalled(final Object stalled) {
1001 setEventHandler(Event.TYPE_STALLED, stalled);
1002 }
1003
1004 /**
1005 * Returns the {@code onpointerover} event handler for this element.
1006 *
1007 * @return the {@code onpointerover} event handler for this element
1008 */
1009 @JsxGetter({CHROME, EDGE})
1010 public Function getOnpointerover() {
1011 return getEventHandler(Event.TYPE_POINTEROVER);
1012 }
1013
1014 /**
1015 * Sets the {@code onpointerover} event handler.
1016 *
1017 * @param pointerover the {@code onpointerover} event handler
1018 */
1019 @JsxSetter({CHROME, EDGE})
1020 public void setOnpointerover(final Object pointerover) {
1021 setEventHandler(Event.TYPE_POINTEROVER, pointerover);
1022 }
1023
1024 /**
1025 * Returns the {@code onclose} event handler.
1026 *
1027 * @return the {@code onclose} event handler
1028 */
1029 @JsxGetter
1030 public Function getOnclose() {
1031 return getEventHandler(Event.TYPE_CLOSE);
1032 }
1033
1034 /**
1035 * Sets the {@code onclose} event handler.
1036 *
1037 * @param close the {@code onclose} event handler
1038 */
1039 @JsxSetter
1040 public void setOnclose(final Object close) {
1041 setEventHandler(Event.TYPE_CLOSE, close);
1042 }
1043
1044 /**
1045 * Returns the {@code ondragenter} event handler.
1046 *
1047 * @return the {@code ondragenter} event handler
1048 */
1049 @JsxGetter
1050 public Function getOndragenter() {
1051 return getEventHandler(Event.TYPE_DRAGENTER);
1052 }
1053
1054 /**
1055 * Sets the {@code ondragenter} event handler.
1056 *
1057 * @param dragenter the {@code ondragenter} event handler
1058 */
1059 @JsxSetter
1060 public void setOndragenter(final Object dragenter) {
1061 setEventHandler(Event.TYPE_DRAGENTER, dragenter);
1062 }
1063
1064 /**
1065 * Returns the {@code onmozfullscreenerror} event handler.
1066 *
1067 * @return the {@code onmozfullscreenerror} event handler
1068 */
1069 @JsxGetter({FF, FF_ESR})
1070 public Function getOnmozfullscreenerror() {
1071 return getEventHandler(Event.TYPE_MOZFULLSCREENERROR);
1072 }
1073
1074 /**
1075 * Sets the {@code onmozfullscreenerror} event handler.
1076 *
1077 * @param mozfullscreenerror the {@code onmozfullscreenerror} event handler
1078 */
1079 @JsxSetter({FF, FF_ESR})
1080 public void setOnmozfullscreenerror(final Object mozfullscreenerror) {
1081 setEventHandler(Event.TYPE_MOZFULLSCREENERROR, mozfullscreenerror);
1082 }
1083
1084 /**
1085 * Returns the {@code onsubmit} event handler.
1086 *
1087 * @return the {@code onsubmit} event handler
1088 */
1089 @JsxGetter
1090 public Function getOnsubmit() {
1091 return getEventHandler(Event.TYPE_SUBMIT);
1092 }
1093
1094 /**
1095 * Sets the {@code onsubmit} event handler.
1096 *
1097 * @param submit the {@code onsubmit} event handler
1098 */
1099 @JsxSetter
1100 public void setOnsubmit(final Object submit) {
1101 setEventHandler(Event.TYPE_SUBMIT, submit);
1102 }
1103
1104 /**
1105 * Returns the {@code onmouseleave} event handler.
1106 *
1107 * @return the {@code onmouseleave} event handler
1108 */
1109 @JsxGetter
1110 public Function getOnmouseleave() {
1111 return getEventHandler(Event.TYPE_MOUSELEAVE);
1112 }
1113
1114 /**
1115 * Sets the {@code onmouseleave} event handler.
1116 *
1117 * @param mouseleave the {@code onmouseleave} event handler
1118 */
1119 @JsxSetter
1120 public void setOnmouseleave(final Object mouseleave) {
1121 setEventHandler(Event.TYPE_MOUSELEAVE, mouseleave);
1122 }
1123
1124 /**
1125 * Returns the {@code onmouseenter} event handler.
1126 *
1127 * @return the {@code onmouseenter} event handler
1128 */
1129 @JsxGetter
1130 public Function getOnmouseenter() {
1131 return getEventHandler(Event.TYPE_MOUDEENTER);
1132 }
1133
1134 /**
1135 * Sets the {@code onmouseenter} event handler.
1136 *
1137 * @param mouseenter the {@code onmouseenter} event handler
1138 */
1139 @JsxSetter
1140 public void setOnmouseenter(final Object mouseenter) {
1141 setEventHandler(Event.TYPE_MOUDEENTER, mouseenter);
1142 }
1143
1144 /**
1145 * Returns the {@code ondragleave} event handler.
1146 *
1147 * @return the {@code ondragleave} event handler
1148 */
1149 @JsxGetter
1150 public Function getOndragleave() {
1151 return getEventHandler(Event.TYPE_DRAGLEAVE);
1152 }
1153
1154 /**
1155 * Sets the {@code ondragleave} event handler.
1156 *
1157 * @param dragleave the {@code ondragleave} event handler
1158 */
1159 @JsxSetter
1160 public void setOndragleave(final Object dragleave) {
1161 setEventHandler(Event.TYPE_DRAGLEAVE, dragleave);
1162 }
1163
1164 /**
1165 * Returns the {@code onmousewheel} event handler.
1166 *
1167 * @return the {@code onmousewheel} event handler
1168 */
1169 @JsxGetter({CHROME, EDGE})
1170 public Function getOnmousewheel() {
1171 return getEventHandler(Event.TYPE_MOUSEWHEEL);
1172 }
1173
1174 /**
1175 * Sets the {@code onmousewheel} event handler.
1176 *
1177 * @param mousewheel the {@code onmousewheel} event handler
1178 */
1179 @JsxSetter({CHROME, EDGE})
1180 public void setOnmousewheel(final Object mousewheel) {
1181 setEventHandler(Event.TYPE_MOUSEWHEEL, mousewheel);
1182 }
1183
1184 /**
1185 * Returns the {@code onpointerdown} event handler for this element.
1186 *
1187 * @return the {@code onpointerdown} event handler for this element
1188 */
1189 @JsxGetter({CHROME, EDGE})
1190 public Function getOnpointerdown() {
1191 return getEventHandler(Event.TYPE_POINTERDOWN);
1192 }
1193
1194 /**
1195 * Sets the {@code onpointerdown} event handler.
1196 *
1197 * @param pointerdown the {@code onpointerdown} event handler
1198 */
1199 @JsxSetter({CHROME, EDGE})
1200 public void setOnpointerdown(final Object pointerdown) {
1201 setEventHandler(Event.TYPE_POINTERDOWN, pointerdown);
1202 }
1203
1204 /**
1205 * Returns the {@code onseeking} event handler.
1206 *
1207 * @return the {@code onseeking} event handler
1208 */
1209 @JsxGetter
1210 public Function getOnseeking() {
1211 return getEventHandler(Event.TYPE_SEEKING);
1212 }
1213
1214 /**
1215 * Sets the {@code onseeking} event handler.
1216 *
1217 * @param seeking the {@code onseeking} event handler
1218 */
1219 @JsxSetter
1220 public void setOnseeking(final Object seeking) {
1221 setEventHandler(Event.TYPE_SEEKING, seeking);
1222 }
1223
1224 /**
1225 * Returns the {@code onblur} event handler.
1226 *
1227 * @return the {@code onblur} event handler
1228 */
1229 @JsxGetter
1230 public Function getOnblur() {
1231 return getEventHandler(Event.TYPE_BLUR);
1232 }
1233
1234 /**
1235 * Sets the {@code onblur} event handler.
1236 *
1237 * @param blur the {@code onblur} event handler
1238 */
1239 @JsxSetter
1240 public void setOnblur(final Object blur) {
1241 setEventHandler(Event.TYPE_BLUR, blur);
1242 }
1243
1244 /**
1245 * Returns the {@code oncuechange} event handler.
1246 *
1247 * @return the {@code oncuechange} event handler
1248 */
1249 @JsxGetter({CHROME, EDGE})
1250 public Function getOncuechange() {
1251 return getEventHandler(Event.TYPE_CUECHANGE);
1252 }
1253
1254 /**
1255 * Sets the {@code oncuechange} event handler.
1256 *
1257 * @param cuechange the {@code oncuechange} event handler
1258 */
1259 @JsxSetter({CHROME, EDGE})
1260 public void setOncuechange(final Object cuechange) {
1261 setEventHandler(Event.TYPE_CUECHANGE, cuechange);
1262 }
1263
1264 /**
1265 * Returns the {@code ondrop} event handler.
1266 *
1267 * @return the {@code ondrop} event handler
1268 */
1269 @JsxGetter
1270 public Function getOndrop() {
1271 return getEventHandler(Event.TYPE_DROP);
1272 }
1273
1274 /**
1275 * Sets the {@code ondrop} event handler.
1276 *
1277 * @param drop the {@code ondrop} event handler
1278 */
1279 @JsxSetter
1280 public void setOndrop(final Object drop) {
1281 setEventHandler(Event.TYPE_DROP, drop);
1282 }
1283
1284 /**
1285 * Returns the {@code ondragstart} event handler.
1286 *
1287 * @return the {@code ondragstart} event handler
1288 */
1289 @JsxGetter
1290 public Function getOndragstart() {
1291 return getEventHandler(Event.TYPE_DRAGSTART);
1292 }
1293
1294 /**
1295 * Sets the {@code ondragstart} event handler.
1296 *
1297 * @param dragstart the {@code ondragstart} event handler
1298 */
1299 @JsxSetter
1300 public void setOndragstart(final Object dragstart) {
1301 setEventHandler(Event.TYPE_DRAGSTART, dragstart);
1302 }
1303
1304 /**
1305 * Returns the {@code onmozfullscreenchange} event handler.
1306 *
1307 * @return the {@code onmozfullscreenchange} event handler
1308 */
1309 @JsxGetter({FF, FF_ESR})
1310 public Function getOnmozfullscreenchange() {
1311 return getEventHandler(Event.TYPE_MOZFULLSCREENCHANGE);
1312 }
1313
1314 /**
1315 * Sets the {@code onmozfullscreenchange} event handler.
1316 *
1317 * @param mozfullscreenchange the {@code onmozfullscreenchange} event handler
1318 */
1319 @JsxSetter({FF, FF_ESR})
1320 public void setOnmozfullscreenchange(final Object mozfullscreenchange) {
1321 setEventHandler(Event.TYPE_MOZFULLSCREENCHANGE, mozfullscreenchange);
1322 }
1323
1324 /**
1325 * Returns the {@code ondurationchange} event handler.
1326 *
1327 * @return the {@code ondurationchange} event handler
1328 */
1329 @JsxGetter
1330 public Function getOndurationchange() {
1331 return getEventHandler(Event.TYPE_DURATIONCHANGE);
1332 }
1333
1334 /**
1335 * Sets the {@code ondurationchange} event handler.
1336 *
1337 * @param durationchange the {@code ondurationchange} event handler
1338 */
1339 @JsxSetter
1340 public void setOndurationchange(final Object durationchange) {
1341 setEventHandler(Event.TYPE_DURATIONCHANGE, durationchange);
1342 }
1343
1344 /**
1345 * Returns the {@code onplaying} event handler.
1346 *
1347 * @return the {@code onplaying} event handler
1348 */
1349 @JsxGetter
1350 public Function getOnplaying() {
1351 return getEventHandler(Event.TYPE_PLAYING);
1352 }
1353
1354 /**
1355 * Sets the {@code onplaying} event handler.
1356 *
1357 * @param playing the {@code onplaying} event handler
1358 */
1359 @JsxSetter
1360 public void setOnplaying(final Object playing) {
1361 setEventHandler(Event.TYPE_PLAYING, playing);
1362 }
1363
1364 /**
1365 * Returns the {@code onload} event handler.
1366 *
1367 * @return the {@code onload} event handler
1368 */
1369 @JsxGetter
1370 public Function getOnload() {
1371 return getEventHandler(Event.TYPE_LOAD);
1372 }
1373
1374 /**
1375 * Sets the {@code onload} event handler.
1376 *
1377 * @param load the {@code onload} event handler
1378 */
1379 @JsxSetter
1380 public void setOnload(final Object load) {
1381 setEventHandler(Event.TYPE_LOAD, load);
1382 }
1383
1384 /**
1385 * Returns the {@code onended} event handler.
1386 *
1387 * @return the {@code onended} event handler
1388 */
1389 @JsxGetter
1390 public Function getOnended() {
1391 return getEventHandler(Event.TYPE_ENDED);
1392 }
1393
1394 /**
1395 * Sets the {@code onended} event handler.
1396 *
1397 * @param ended the {@code onended} event handler
1398 */
1399 @JsxSetter
1400 public void setOnended(final Object ended) {
1401 setEventHandler(Event.TYPE_ENDED, ended);
1402 }
1403
1404 /**
1405 * Returns the {@code onloadeddata} event handler.
1406 *
1407 * @return the {@code onloadeddata} event handler
1408 */
1409 @JsxGetter
1410 public Function getOnloadeddata() {
1411 return getEventHandler(Event.TYPE_LOADEDDATA);
1412 }
1413
1414 /**
1415 * Sets the {@code onloadeddata} event handler.
1416 *
1417 * @param loadeddata the {@code onloadeddata} event handler
1418 */
1419 @JsxSetter
1420 public void setOnloadeddata(final Object loadeddata) {
1421 setEventHandler(Event.TYPE_LOADEDDATA, loadeddata);
1422 }
1423
1424 /**
1425 * Returns the {@code oncopy} event handler.
1426 *
1427 * @return the {@code oncopy} event handler
1428 */
1429 @JsxGetter
1430 public Function getOncopy() {
1431 return getEventHandler(Event.TYPE_COPY);
1432 }
1433
1434 /**
1435 * Sets the {@code oncopy} event handler.
1436 *
1437 * @param copy the {@code oncopy} event handler
1438 */
1439 @JsxSetter
1440 public void setOncopy(final Object copy) {
1441 setEventHandler(Event.TYPE_COPY, copy);
1442 }
1443
1444 /**
1445 * Returns the {@code onpaste} event handler.
1446 *
1447 * @return the {@code onpaste} event handler
1448 */
1449 @JsxGetter
1450 public Function getOnpaste() {
1451 return getEventHandler(Event.TYPE_PASTE);
1452 }
1453
1454 /**
1455 * Sets the {@code onpaste} event handler.
1456 *
1457 * @param paste the {@code onpaste} event handler
1458 */
1459 @JsxSetter
1460 public void setOnpaste(final Object paste) {
1461 setEventHandler(Event.TYPE_PASTE, paste);
1462 }
1463
1464 /**
1465 * Returns the {@code onmouseout} event handler.
1466 *
1467 * @return the {@code onmouseout} event handler
1468 */
1469 @JsxGetter
1470 public Function getOnmouseout() {
1471 return getEventHandler(MouseEvent.TYPE_MOUSE_OUT);
1472 }
1473
1474 /**
1475 * Sets the {@code onmouseout} event handler.
1476 *
1477 * @param mouseout the {@code onmouseout} event handler
1478 */
1479 @JsxSetter
1480 public void setOnmouseout(final Object mouseout) {
1481 setEventHandler(MouseEvent.TYPE_MOUSE_OUT, mouseout);
1482 }
1483
1484 /**
1485 * Returns the {@code onsuspend} event handler.
1486 *
1487 * @return the {@code onsuspend} event handler
1488 */
1489 @JsxGetter
1490 public Function getOnsuspend() {
1491 return getEventHandler(Event.TYPE_SUSPEND);
1492 }
1493
1494 /**
1495 * Sets the {@code onsuspend} event handler.
1496 *
1497 * @param suspend the {@code onsuspend} event handler
1498 */
1499 @JsxSetter
1500 public void setOnsuspend(final Object suspend) {
1501 setEventHandler(Event.TYPE_SUSPEND, suspend);
1502 }
1503
1504 /**
1505 * Returns the {@code onvolumechange} event handler.
1506 *
1507 * @return the {@code onvolumechange} event handler
1508 */
1509 @JsxGetter
1510 public Function getOnvolumechange() {
1511 return getEventHandler(Event.TYPE_VOLUMECHANGE);
1512 }
1513
1514 /**
1515 * Sets the {@code onvolumechange} event handler.
1516 *
1517 * @param volumechange the {@code onvolumechange} event handler
1518 */
1519 @JsxSetter
1520 public void setOnvolumechange(final Object volumechange) {
1521 setEventHandler(Event.TYPE_VOLUMECHANGE, volumechange);
1522 }
1523
1524 /**
1525 * Returns the {@code onwaiting} event handler.
1526 *
1527 * @return the {@code onwaiting} event handler
1528 */
1529 @JsxGetter
1530 public Function getOnwaiting() {
1531 return getEventHandler(Event.TYPE_WAITING);
1532 }
1533
1534 /**
1535 * Sets the {@code onwaiting} event handler.
1536 *
1537 * @param waiting the {@code onwaiting} event handler
1538 */
1539 @JsxSetter
1540 public void setOnwaiting(final Object waiting) {
1541 setEventHandler(Event.TYPE_WAITING, waiting);
1542 }
1543
1544 /**
1545 * Returns the {@code oncanplay} event handler.
1546 *
1547 * @return the {@code oncanplay} event handler
1548 */
1549 @JsxGetter
1550 public Function getOncanplay() {
1551 return getEventHandler(Event.TYPE_CANPLAY);
1552 }
1553
1554 /**
1555 * Sets the {@code oncanplay} event handler.
1556 *
1557 * @param canplay the {@code oncanplay} event handler
1558 */
1559 @JsxSetter
1560 public void setOncanplay(final Object canplay) {
1561 setEventHandler(Event.TYPE_CANPLAY, canplay);
1562 }
1563
1564 /**
1565 * Returns the {@code onmousedown} event handler.
1566 *
1567 * @return the {@code onmousedown} event handler
1568 */
1569 @JsxGetter
1570 public Function getOnmousedown() {
1571 return getEventHandler(MouseEvent.TYPE_MOUSE_DOWN);
1572 }
1573
1574 /**
1575 * Sets the {@code onmousedown} event handler.
1576 *
1577 * @param mousedown the {@code onmousedown} event handler
1578 */
1579 @JsxSetter
1580 public void setOnmousedown(final Object mousedown) {
1581 setEventHandler(MouseEvent.TYPE_MOUSE_DOWN, mousedown);
1582 }
1583
1584 /**
1585 * Returns the {@code onemptied} event handler.
1586 *
1587 * @return the {@code onemptied} event handler
1588 */
1589 @JsxGetter
1590 public Function getOnemptied() {
1591 return getEventHandler(Event.TYPE_EMPTIED);
1592 }
1593
1594 /**
1595 * Sets the {@code onemptied} event handler.
1596 *
1597 * @param emptied the {@code onemptied} event handler
1598 */
1599 @JsxSetter
1600 public void setOnemptied(final Object emptied) {
1601 setEventHandler(Event.TYPE_EMPTIED, emptied);
1602 }
1603
1604 /**
1605 * Returns the {@code ongotpointercapture} event handler for this element.
1606 *
1607 * @return the {@code ongotpointercapture} event handler for this element
1608 */
1609 @JsxGetter({CHROME, EDGE})
1610 public Function getOngotpointercapture() {
1611 return getEventHandler(Event.TYPE_GOTPOINTERCAPTURE);
1612 }
1613
1614 /**
1615 * Sets the {@code ongotpointercapture} event handler.
1616 *
1617 * @param gotpointercapture the {@code ongotpointercapture} event handler
1618 */
1619 @JsxSetter({CHROME, EDGE})
1620 public void setOngotpointercapture(final Object gotpointercapture) {
1621 setEventHandler(Event.TYPE_GOTPOINTERCAPTURE, gotpointercapture);
1622 }
1623
1624 /**
1625 * Returns the {@code onwheel} event handler for this element.
1626 *
1627 * @return the {@code onwheel} event handler for this element
1628 */
1629 @JsxGetter({CHROME, EDGE})
1630 @Override
1631 public Function getOnwheel() {
1632 return getEventHandler(Event.TYPE_WHEEL);
1633 }
1634
1635 /**
1636 * Sets the {@code onwheel} event handler for this element.
1637 *
1638 * @param onwheel the {@code onwheel} event handler for this element
1639 */
1640 @JsxSetter({CHROME, EDGE})
1641 @Override
1642 public void setOnwheel(final Object onwheel) {
1643 setEventHandler(Event.TYPE_WHEEL, onwheel);
1644 }
1645 }