blob: 1af66662b25e7058a93496d8345c1f4cbd6e957c [file] [log] [blame]
// 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.
class $CLASSNAME$EXTENDS$IMPLEMENTS$NATIVESPEC {
$!MEMBERS
int get offsetX {
if (JS('bool', '!!this.offsetX')) {
return this._offsetX;
} else {
// Firefox does not support offsetX.
var target = this.target;
if (!(target is Element)) {
throw const UnsupportedOperationException(
'offsetX is only supported on elements');
}
return this.clientX - this.target.getBoundingClientRect().left;
}
}
int get offsetY {
if (JS('bool', '!!this.offsetY')) {
return this._offsetY;
} else {
// Firefox does not support offsetY.
var target = this.target;
if (!(target is Element)) {
throw const UnsupportedOperationException(
'offsetX is only supported on elements');
}
return this.clientY - this.target.getBoundingClientRect().top;
}
}
int get _offsetX() native 'return this.offsetX';
int get _offsetY() native 'return this.offsetY';
}