animationvideo
Version:
Javascript-Libary for animation and audio syncing
55 lines (46 loc) • 1.28 kB
JavaScript
import Circle from './Circle.mjs';
class Text extends Circle {
constructor(givenParameters) {
super(givenParameters);
}
getParameterList() {
return Object.assign({}, super.getParameterList(), {
text: undefined,
font: '26px monospace',
position: Text.CENTER,
color: undefined,
borderColor: undefined,
lineWidth: 1
});
}
// draw-methode
draw(context, additionalModifier) {
if (this.enabled) {
context.globalCompositeOperation = this.compositeOperation;
context.globalAlpha = this.alpha * additionalModifier.alpha;
context.save();
if (Text.LEFT_TOP) {
context.textAlign = 'left';
context.textBaseline = 'top';
}
context.translate(this.x, this.y);
context.scale(this.scaleX, this.scaleY);
context.rotate(this.rotation);
context.font = this.font;
if (this.color) {
context.fillStyle = this.color;
context.fillText(this.text, 0, 0);
}
if (this.borderColor) {
context.strokeStyle = this.borderColor;
context.lineWidth = this.lineWidth;
context.strokeText(this.text, 0, 0);
}
context.restore();
}
};
}
// const
Text.LEFT_TOP = 0;
Text.CENTER = 1;
export default Text;