whatsappicloudtweetdeckhipchattelegramhangoutsslackgmailskypefacebook-workplaceoutlookemailmicrosoft-teamsdiscordmessengercustom-servicesmacoslinuxwindowsinbox
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.
60 lines
1.3 KiB
60 lines
1.3 KiB
/** |
|
* @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; |
|
} |
|
});
|
|
|