macoslinuxwindowsinboxwhatsappicloudtweetdeckhipchattelegramhangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-services
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
61 lines
1.3 KiB
61 lines
1.3 KiB
9 years ago
|
/**
|
||
|
* @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;
|
||
|
}
|
||
|
});
|