/* * L.Bounds represents a rectangular area on the screen in pixel coordinates. */ L.Bounds = L.Class.extend({ initialize: function (min, max) { //(Point, Point) or Point[] if (!min) { return; } var points = (min instanceof Array ? min : [min, max]); for (var i = 0, len = points.length; i < len; i++) { this.extend(points[i]); } }, // extend the bounds to contain the given point extend: function (/*Point*/ point) { if (!this.min && !this.max) { this.min = new L.Point(point.x, point.y); this.max = new L.Point(point.x, point.y); } else { this.min.x = Math.min(point.x, this.min.x); this.max.x = Math.max(point.x, this.max.x); this.min.y = Math.min(point.y, this.min.y); this.max.y = Math.max(point.y, this.max.y); } }, getCenter: function (round)/*->Point*/ { return new L.Point( (this.min.x + this.max.x) / 2, (this.min.y + this.max.y) / 2, round); }, contains: function (/*Bounds or Point*/ obj)/*->Boolean*/ { var min, max; if (obj instanceof L.Bounds) { min = obj.min; max = obj.max; } else { min = max = obj; } return (min.x >= this.min.x) && (max.x <= this.max.x) && (min.y >= this.min.y) && (max.y <= this.max.y); } });