mirror of
https://github.com/openseadragon/openseadragon.git
synced 2024-11-26 07:06:10 +03:00
51 lines
1.1 KiB
JavaScript
51 lines
1.1 KiB
JavaScript
|
|
||
|
(function( $ ){
|
||
|
|
||
|
$.Point=$.Point = function(x, y) {
|
||
|
this.x = typeof (x) == "number" ? x : 0;
|
||
|
this.y = typeof (y) == "number" ? y : 0;
|
||
|
};
|
||
|
|
||
|
$.Point.prototype = {
|
||
|
|
||
|
plus: function(point) {
|
||
|
return new $.Point(this.x + point.x, this.y + point.y);
|
||
|
},
|
||
|
|
||
|
minus: function(point) {
|
||
|
return new $.Point(this.x - point.x, this.y - point.y);
|
||
|
},
|
||
|
|
||
|
times: function(factor) {
|
||
|
return new $.Point(this.x * factor, this.y * factor);
|
||
|
},
|
||
|
|
||
|
divide: function(factor) {
|
||
|
return new $.Point(this.x / factor, this.y / factor);
|
||
|
},
|
||
|
|
||
|
negate: function() {
|
||
|
return new $.Point(-this.x, -this.y);
|
||
|
},
|
||
|
|
||
|
distanceTo: function(point) {
|
||
|
return Math.sqrt(Math.pow(this.x - point.x, 2) +
|
||
|
Math.pow(this.y - point.y, 2));
|
||
|
},
|
||
|
|
||
|
apply: function(func) {
|
||
|
return new $.Point(func(this.x), func(this.y));
|
||
|
},
|
||
|
|
||
|
equals: function(point) {
|
||
|
return (point instanceof $.Point) &&
|
||
|
(this.x === point.x) && (this.y === point.y);
|
||
|
},
|
||
|
|
||
|
toString: function() {
|
||
|
return "(" + this.x + "," + this.y + ")";
|
||
|
}
|
||
|
};
|
||
|
|
||
|
}( OpenSeadragon ));
|