b35b436cf5
Change-Id: Id0257e4d00ca4a7acc759d7f06fa5b64c744894b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/256126 Reviewed-by: Srujan Gaddam <srujzs@google.com> Commit-Queue: Lasse Nielsen <lrn@google.com> Reviewed-by: Michael Thomsen <mit@google.com> Reviewed-by: Nicholas Shahan <nshahan@google.com>
136 lines
3.7 KiB
Plaintext
136 lines
3.7 KiB
Plaintext
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
part of $LIBRARYNAME;
|
|
|
|
$(ANNOTATIONS)$(NATIVESPEC)$(CLASS_MODIFIERS)class $CLASSNAME$EXTENDS$IMPLEMENTS {
|
|
|
|
factory WheelEvent(String type,
|
|
{Window$NULLABLE view, num deltaX = 0, num deltaY = 0, num deltaZ = 0,
|
|
int deltaMode = 0,
|
|
int detail = 0, int screenX = 0, int screenY = 0, int clientX = 0,
|
|
int clientY = 0, int button = 0, bool canBubble = true,
|
|
bool cancelable = true, bool ctrlKey = false, bool altKey = false,
|
|
bool shiftKey = false, bool metaKey = false,
|
|
EventTarget$NULLABLE relatedTarget}) {
|
|
|
|
var options = {
|
|
'view': view,
|
|
'deltaMode': deltaMode,
|
|
'deltaX': deltaX,
|
|
'deltaY': deltaY,
|
|
'deltaZ': deltaZ,
|
|
'detail': detail,
|
|
'screenX': screenX,
|
|
'screenY': screenY,
|
|
'clientX': clientX,
|
|
'clientY': clientY,
|
|
'button': button,
|
|
'bubbles': canBubble,
|
|
'cancelable': cancelable,
|
|
'ctrlKey': ctrlKey,
|
|
'altKey': altKey,
|
|
'shiftKey': shiftKey,
|
|
'metaKey': metaKey,
|
|
'relatedTarget': relatedTarget,
|
|
};
|
|
|
|
if (view == null) {
|
|
view = window;
|
|
}
|
|
|
|
return JS('WheelEvent', 'new WheelEvent(#, #)',
|
|
type, convertDartToNative_Dictionary(options));
|
|
|
|
}
|
|
|
|
$!MEMBERS
|
|
|
|
/**
|
|
* The amount that is expected to scroll vertically, in units determined by
|
|
* [deltaMode].
|
|
*
|
|
* See also:
|
|
*
|
|
* * [WheelEvent.deltaY](http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-WheelEvent-deltaY) from the W3C.
|
|
*/
|
|
num get deltaY {
|
|
// deltaY may be missing or undefined.
|
|
num? value = JS('', '#.deltaY', this);
|
|
if (value != null) return value;
|
|
throw new UnsupportedError('deltaY is not supported');
|
|
}
|
|
|
|
/**
|
|
* The amount that is expected to scroll horizontally, in units determined by
|
|
* [deltaMode].
|
|
*
|
|
* See also:
|
|
*
|
|
* * [WheelEvent.deltaX](http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-WheelEvent-deltaX) from the W3C.
|
|
*/
|
|
num get deltaX {
|
|
// deltaX may be missing or undefined.
|
|
num? value = JS('', '#.deltaX', this);
|
|
if (value != null) return value;
|
|
throw new UnsupportedError('deltaX is not supported');
|
|
}
|
|
|
|
int get deltaMode {
|
|
if (JS('bool', '!!(#.deltaMode)', this)) {
|
|
return JS('int', '#.deltaMode', this);
|
|
}
|
|
// If not available then we're poly-filling and doing pixel scroll.
|
|
return 0;
|
|
}
|
|
|
|
num get _wheelDelta => JS('num', '#.wheelDelta', this);
|
|
num get _wheelDeltaX => JS('num', '#.wheelDeltaX', this);
|
|
num get _detail => JS('num', '#.detail', this);
|
|
|
|
bool get _hasInitMouseScrollEvent =>
|
|
JS('bool', '!!(#.initMouseScrollEvent)', this);
|
|
|
|
@JSName('initMouseScrollEvent')
|
|
void _initMouseScrollEvent(
|
|
String type,
|
|
bool canBubble,
|
|
bool cancelable,
|
|
Window view,
|
|
int detail,
|
|
int screenX,
|
|
int screenY,
|
|
int clientX,
|
|
int clientY,
|
|
bool ctrlKey,
|
|
bool altKey,
|
|
bool shiftKey,
|
|
bool metaKey,
|
|
int button,
|
|
EventTarget relatedTarget,
|
|
int axis) native;
|
|
|
|
bool get _hasInitWheelEvent =>
|
|
JS('bool', '!!(#.initWheelEvent)', this);
|
|
@JSName('initWheelEvent')
|
|
void _initWheelEvent(
|
|
String eventType,
|
|
bool canBubble,
|
|
bool cancelable,
|
|
Window view,
|
|
int detail,
|
|
int screenX,
|
|
int screenY,
|
|
int clientX,
|
|
int clientY,
|
|
int button,
|
|
EventTarget relatedTarget,
|
|
String modifiersList,
|
|
int deltaX,
|
|
int deltaY,
|
|
int deltaZ,
|
|
int deltaMode) native;
|
|
|
|
}
|