Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(71)

Side by Side Diff: tools/dom/templates/html/dart2js/impl_MouseEvent.darttemplate

Issue 2211563002: Use Point<num> in dart:html for strong mode (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS { 7 $(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
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,
11 bool cancelable: true, bool ctrlKey: false, bool altKey: false, 11 bool cancelable: true, bool ctrlKey: false, bool altKey: false,
12 bool shiftKey: false, bool metaKey: false, EventTarget relatedTarget}) { 12 bool shiftKey: false, bool metaKey: false, EventTarget relatedTarget}) {
13 13
14 if (view == null) { 14 if (view == null) {
15 view = window; 15 view = window;
16 } 16 }
17 MouseEvent event = document._createEvent('MouseEvent'); 17 MouseEvent event = document._createEvent('MouseEvent');
18 event._initMouseEvent(type, canBubble, cancelable, view, detail, 18 event._initMouseEvent(type, canBubble, cancelable, view, detail,
19 screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, 19 screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey,
20 button, relatedTarget); 20 button, relatedTarget);
21 return event; 21 return event;
22 } 22 }
23 $!MEMBERS 23 $!MEMBERS
24 24
25 @DomName('MouseEvent.clientX') 25 @DomName('MouseEvent.clientX')
26 @DomName('MouseEvent.clientY') 26 @DomName('MouseEvent.clientY')
27 Point get client => new Point(_clientX, _clientY); 27 Point get client => new Point/*<num>*/(_clientX, _clientY);
28 28
29 @DomName('MouseEvent.movementX') 29 @DomName('MouseEvent.movementX')
30 @DomName('MouseEvent.movementY') 30 @DomName('MouseEvent.movementY')
31 @SupportedBrowser(SupportedBrowser.CHROME) 31 @SupportedBrowser(SupportedBrowser.CHROME)
32 @SupportedBrowser(SupportedBrowser.FIREFOX) 32 @SupportedBrowser(SupportedBrowser.FIREFOX)
33 @Experimental() 33 @Experimental()
34 Point get movement => new Point(_movementX, _movementY); 34 Point get movement => new Point/*<num>*/(_movementX, _movementY);
35 35
36 /** 36 /**
37 * The coordinates of the mouse pointer in target node coordinates. 37 * The coordinates of the mouse pointer in target node coordinates.
38 * 38 *
39 * This value may vary between platforms if the target node moves 39 * This value may vary between platforms if the target node moves
40 * after the event has fired or if the element has CSS transforms affecting 40 * after the event has fired or if the element has CSS transforms affecting
41 * it. 41 * it.
42 */ 42 */
43 Point get offset { 43 Point get offset {
44 if (JS('bool', '!!#.offsetX', this)) { 44 if (JS('bool', '!!#.offsetX', this)) {
45 var x = JS('int', '#.offsetX', this); 45 var x = JS('int', '#.offsetX', this);
46 var y = JS('int', '#.offsetY', this); 46 var y = JS('int', '#.offsetY', this);
47 return new Point(x, y); 47 return new Point/*<num>*/(x, y);
48 } else { 48 } else {
49 // Firefox does not support offsetX. 49 // Firefox does not support offsetX.
50 if (!(this.target is Element)) { 50 if (!(this.target is Element)) {
51 throw new UnsupportedError( 51 throw new UnsupportedError(
52 'offsetX is only supported on elements'); 52 'offsetX is only supported on elements');
53 } 53 }
54 Element target = this.target; 54 Element target = this.target;
55 var point = (this.client - target.getBoundingClientRect().topLeft); 55 var point = (this.client - target.getBoundingClientRect().topLeft);
56 return new Point(point.x.toInt(), point.y.toInt()); 56 return new Point/*<num>*/(point.x.toInt(), point.y.toInt());
57 } 57 }
58 } 58 }
59 59
60 @DomName('MouseEvent.screenX') 60 @DomName('MouseEvent.screenX')
61 @DomName('MouseEvent.screenY') 61 @DomName('MouseEvent.screenY')
62 Point get screen => new Point(_screenX, _screenY); 62 Point get screen => new Point/*<num>*/(_screenX, _screenY);
63 63
64 @DomName('MouseEvent.layerX') 64 @DomName('MouseEvent.layerX')
65 @DomName('MouseEvent.layerY') 65 @DomName('MouseEvent.layerY')
66 Point get layer => new Point(_layerX, _layerY); 66 Point get layer => new Point/*<num>*/(_layerX, _layerY);
67 67
68 @DomName('MouseEvent.pageX') 68 @DomName('MouseEvent.pageX')
69 @DomName('MouseEvent.pageY') 69 @DomName('MouseEvent.pageY')
70 Point get page => new Point(_pageX, _pageY); 70 Point get page => new Point/*<num>*/(_pageX, _pageY);
71 } 71 }
OLDNEW
« no previous file with comments | « sdk/lib/html/dartium/html_dartium.dart ('k') | tools/dom/templates/html/dartium/impl_MouseEvent.darttemplate » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698