| OLD | NEW |
| 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 part of $LIBRARYNAME; | 5 part of $LIBRARYNAME; |
| 6 | 6 |
| 7 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { | 7 $(ANNOTATIONS)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC { |
| 8 factory $CLASSNAME(String type, | 8 factory $CLASSNAME(String type, |
| 9 {Window view, int detail: 0, int screenX: 0, int screenY: 0, | 9 {Window view, int detail: 0, int screenX: 0, int screenY: 0, |
| 10 int clientX: 0, int clientY: 0, int button: 0, bool canBubble: true, | 10 int clientX: 0, int clientY: 0, int button: 0, bool canBubble: true, |
| (...skipping 29 matching lines...) Expand all Loading... |
| 40 int get screenY => screen.y; | 40 int get screenY => screen.y; |
| 41 | 41 |
| 42 @DomName('MouseEvent.clientX') | 42 @DomName('MouseEvent.clientX') |
| 43 @DomName('MouseEvent.clientY') | 43 @DomName('MouseEvent.clientY') |
| 44 Point get client => new Point($dom_clientX, $dom_clientY); | 44 Point get client => new Point($dom_clientX, $dom_clientY); |
| 45 | 45 |
| 46 @DomName('MouseEvent.movementX') | 46 @DomName('MouseEvent.movementX') |
| 47 @DomName('MouseEvent.movementY') | 47 @DomName('MouseEvent.movementY') |
| 48 @SupportedBrowser(SupportedBrowser.CHROME) | 48 @SupportedBrowser(SupportedBrowser.CHROME) |
| 49 @SupportedBrowser(SupportedBrowser.SAFARI) | 49 @SupportedBrowser(SupportedBrowser.SAFARI) |
| 50 @Experimental | 50 @Experimental() |
| 51 Point get movement => new Point($dom_webkitMovementX, $dom_webkitMovementY); | 51 Point get movement => new Point($dom_webkitMovementX, $dom_webkitMovementY); |
| 52 | 52 |
| 53 /** | 53 /** |
| 54 * The coordinates of the mouse pointer in target node coordinates. | 54 * The coordinates of the mouse pointer in target node coordinates. |
| 55 * | 55 * |
| 56 * This value may vary between platforms if the target node moves | 56 * This value may vary between platforms if the target node moves |
| 57 * after the event has fired or if the element has CSS transforms affecting | 57 * after the event has fired or if the element has CSS transforms affecting |
| 58 * it. | 58 * it. |
| 59 */ | 59 */ |
| 60 Point get offset { | 60 Point get offset { |
| 61 if (JS('bool', '!!#.offsetX', this)) { | 61 if (JS('bool', '!!#.offsetX', this)) { |
| 62 var x = JS('int', '#.offsetX', this); | 62 var x = JS('int', '#.offsetX', this); |
| 63 var y = JS('int', '#.offsetY', this); | 63 var y = JS('int', '#.offsetY', this); |
| 64 return new Point(x, y); | 64 return new Point(x, y); |
| 65 } else { | 65 } else { |
| 66 // Firefox does not support offsetX. | 66 // Firefox does not support offsetX. |
| 67 if (!(this.target is Element)) { | 67 if (!(this.target is Element)) { |
| 68 throw new UnsupportedError( | 68 throw new UnsupportedError( |
| 69 'offsetX is only supported on elements'); | 69 'offsetX is only supported on elements'); |
| 70 } | 70 } |
| 71 Element target = this.target; | 71 Element target = this.target; |
| 72 return (this.client - target.getBoundingClientRect().topLeft).toInt(); | 72 return (this.client - target.getBoundingClientRect().topLeft).toInt(); |
| 73 } | 73 } |
| 74 } | 74 } |
| 75 | 75 |
| 76 @DomName('MouseEvent.screenX') | 76 @DomName('MouseEvent.screenX') |
| 77 @DomName('MouseEvent.screenY') | 77 @DomName('MouseEvent.screenY') |
| 78 Point get screen => new Point($dom_screenX, $dom_screenY); | 78 Point get screen => new Point($dom_screenX, $dom_screenY); |
| 79 } | 79 } |
| OLD | NEW |