comic-bubbles
Version:
Animated comic bubbles - what else?
66 lines (51 loc) • 1.36 kB
JavaScript
import { Margin } from "./margin.mjs"
export class BubbleContainer {
constructor(parent) {
this.canvas = document.createElement('canvas')
this.margin = new Margin(this)
this.parent = parent
}
bubbleArr = new Array()
ctx() {
return this.canvas.getContext('2d')
}
bubble(idx) {
return this.bubbleArr[idx]
}
addBubble(bubble) {
bubble.parent = this
bubble.arrIdx = this.bubbleArr.length
this.bubbleArr.push(bubble)
}
getBubbleCount() {
return this.bubbleArr.length
}
clearBubbles() {
this.bubbleArr = new Array()
}
getPrefStr() {
return this.parent === undefined ? 'bubCon' : this.parent.getPrefStr() + '.bubCon'
}
getWidth() {
let realAniConWidth =
this.parent.aniCon.bounds.width + this.parent.aniCon.margin.left + this.parent.aniCon.margin.right
let width = this.parent.bounds.width - realAniConWidth - this.margin.left - this.margin.right
return width
}
getHeight() {
let height = this.parent.bounds.height - this.margin.top - this.margin.bottom
return height
}
getX() {
return (
this.parent.bounds.x +
this.margin.left +
this.parent.aniCon.margin.left +
this.parent.aniCon.margin.right +
this.parent.aniCon.bounds.width
)
}
getY() {
return this.parent.bounds.y + this.margin.top
}
}