UNPKG

nidza

Version:

Nidza.js is ultimate canvas2d+3d solution (Easy port any webgl or webgl2 script). In context of 3d graphics it is used for GLSL manipulation. Objective is low CPU usage price.

62 lines (48 loc) 1.33 kB
import { NidzaElement } from "./base-component.js"; import { Osc, drawSimpleText, drawRotatedText, drawBorder, drawWithBorder, drawRotatedBorderText } from "./operations.js"; import {Rotator} from "./rotation.js"; export class NidzaCustom2dComponent extends NidzaElement { constructor(arg) { const eArg = { position: arg.position, id: arg.id, canvasDom: arg.canvasDom, // draw: arg.draw } super(eArg); this.id = arg.id; this.draw = arg.draw; this.ctx = arg.ctx; this.canvasDom = arg.canvasDom; var newW = 20, newH = 20; if (arg.dimension) { newW = arg.dimension.width || 20; newH = arg.dimension.height || 20; } this.dimension.setReferent(this.canvasDom); this.dimension.elementIdentity = this.id; this.dimension.setDimension(newW, newH); dispatchEvent(new CustomEvent("activate-updater", { detail: { id: arg.id, oneDraw: false } })); } getKey(action) { return action + this.canvasDom.id; } activeDraw = () => { dispatchEvent(new CustomEvent(this.getKey("activate-updater"), { detail: { id: this.elementIdentity, oneDraw: false } })); } }