UNPKG

comic-bubbles

Version:

Animated comic bubbles - what else?

60 lines (47 loc) 1.23 kB
import { Margin } from "./margin.mjs" export class Text { constructor(parent) { this.canvas = document.createElement('canvas') this.margin = new Margin(this) this.parent = parent } rowArr = new Array() getWidth() { let width = 0 for (let i = 0; i < this.rowArr.length; i++) { width = Math.max(this.rowArr[i].getWidth(), width) } return width } getHeight() { let height = 0 for (let i = 0; i < this.rowArr.length; i++) { if (i == 0) height += this.rowArr[i].getHeight() if (i > 0) height += this.rowArr[i].getMaxLineSpacing() } return height } getX() { return this.parent.getX() + this.margin.left } getY() { return this.parent.getY() + this.margin.top } getPrefStr() { return this.parent === undefined ? 'text' : this.parent.getPrefStr() + '.text' } addRow(row) { row.parent = this row.arrIdx = this.rowArr.length this.rowArr.push(row) } row(idx) { return this.rowArr[idx] } getRowCount() { return this.rowArr.length } ctx() { return this.canvas.getContext('2d') } }