Current File : /home/tradevaly/www/node_modules/fontkit/src/glyph/BBox.js |
/**
* Represents a glyph bounding box
*/
export default class BBox {
constructor(minX = Infinity, minY = Infinity, maxX = -Infinity, maxY = -Infinity) {
/**
* The minimum X position in the bounding box
* @type {number}
*/
this.minX = minX;
/**
* The minimum Y position in the bounding box
* @type {number}
*/
this.minY = minY;
/**
* The maxmimum X position in the bounding box
* @type {number}
*/
this.maxX = maxX;
/**
* The maxmimum Y position in the bounding box
* @type {number}
*/
this.maxY = maxY;
}
/**
* The width of the bounding box
* @type {number}
*/
get width() {
return this.maxX - this.minX;
}
/**
* The height of the bounding box
* @type {number}
*/
get height() {
return this.maxY - this.minY;
}
addPoint(x, y) {
if (Math.abs(x) !== Infinity) {
if (x < this.minX) {
this.minX = x;
}
if (x > this.maxX) {
this.maxX = x;
}
}
if (Math.abs(y) !== Infinity) {
if (y < this.minY) {
this.minY = y;
}
if (y > this.maxY) {
this.maxY = y;
}
}
}
copy() {
return new BBox(this.minX, this.minY, this.maxX, this.maxY);
}
}