UNPKG

nehan

Version:

Html layout engine for paged-media written in Typescript

54 lines 1.35 kB
export class LogicalRect { constructor(pos, size) { this.pos = pos; this.size = size; } toString() { let str = JSON.stringify({ pos: this.pos, size: this.size }); return `rect(${str})`; } canContain(size) { return this.size.canContain(size); } translate(value) { return new LogicalRect(this.pos.translate(value), this.size); } collideWith(rect) { const dx = Math.abs(this.start - rect.start); const sx = (this.measure + rect.measure) / 2; const dy = Math.abs(this.before - rect.before); const sy = (this.extent + rect.extent) / 2; return dx < sx && dy < sy; } get extent() { return this.size.extent; } set extent(size) { this.size.extent = size; } get measure() { return this.size.measure; } set measure(size) { this.size.measure = size; } get start() { return this.pos.start; } set start(size) { this.pos.start = size; } get before() { return this.pos.before; } set before(size) { this.pos.before = size; } get end() { return this.pos.start + this.size.measure; } get after() { return this.pos.before + this.size.extent; } } //# sourceMappingURL=logical-rect.js.map