61 lines
1.3 KiB
JavaScript
61 lines
1.3 KiB
JavaScript
/**
|
|
* @private
|
|
*/
|
|
Ext.define('Ext.util.Offset', {
|
|
|
|
/* Begin Definitions */
|
|
|
|
statics: {
|
|
fromObject: function(obj) {
|
|
return new this(obj.x, obj.y);
|
|
}
|
|
},
|
|
|
|
/* End Definitions */
|
|
|
|
constructor: function(x, y) {
|
|
this.x = (x != null && !isNaN(x)) ? x : 0;
|
|
this.y = (y != null && !isNaN(y)) ? y : 0;
|
|
|
|
return this;
|
|
},
|
|
|
|
copy: function() {
|
|
return new Ext.util.Offset(this.x, this.y);
|
|
},
|
|
|
|
copyFrom: function(p) {
|
|
this.x = p.x;
|
|
this.y = p.y;
|
|
},
|
|
|
|
toString: function() {
|
|
return "Offset[" + this.x + "," + this.y + "]";
|
|
},
|
|
|
|
equals: function(offset) {
|
|
//<debug>
|
|
if(!(offset instanceof this.statics())) {
|
|
Ext.Error.raise('Offset must be an instance of Ext.util.Offset');
|
|
}
|
|
//</debug>
|
|
|
|
return (this.x == offset.x && this.y == offset.y);
|
|
},
|
|
|
|
round: function(to) {
|
|
if (!isNaN(to)) {
|
|
var factor = Math.pow(10, to);
|
|
this.x = Math.round(this.x * factor) / factor;
|
|
this.y = Math.round(this.y * factor) / factor;
|
|
} else {
|
|
this.x = Math.round(this.x);
|
|
this.y = Math.round(this.y);
|
|
}
|
|
},
|
|
|
|
isZero: function() {
|
|
return this.x == 0 && this.y == 0;
|
|
}
|
|
});
|