@visactor/vrender-kits
Version:
## Description
124 lines (118 loc) • 4.87 kB
JavaScript
var __decorate = this && this.__decorate || function(decorators, target, key, desc) {
var d, c = arguments.length, r = c < 3 ? target : null === desc ? desc = Object.getOwnPropertyDescriptor(target, key) : desc;
if ("object" == typeof Reflect && "function" == typeof Reflect.decorate) r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) (d = decorators[i]) && (r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r);
return c > 3 && r && Object.defineProperty(target, key, r), r;
}, __metadata = this && this.__metadata || function(k, v) {
if ("object" == typeof Reflect && "function" == typeof Reflect.metadata) return Reflect.metadata(k, v);
}, __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) {
return new (P || (P = Promise))((function(resolve, reject) {
function fulfilled(value) {
try {
step(generator.next(value));
} catch (e) {
reject(e);
}
}
function rejected(value) {
try {
step(generator.throw(value));
} catch (e) {
reject(e);
}
}
function step(result) {
var value;
result.done ? resolve(result.value) : (value = result.value, value instanceof P ? value : new P((function(resolve) {
resolve(value);
}))).then(fulfilled, rejected);
}
step((generator = generator.apply(thisArg, _arguments || [])).next());
}));
};
import { injectable, BaseEnvContribution, rafBasedSto } from "@visactor/vrender-core";
function makeUpCanvas(domref, canvasIdLists, canvasMap, freeCanvasIdx, freeCanvasList, component) {
return __awaiter(this, void 0, void 0, (function*() {
const dpr = tt.getSystemInfoSync().pixelRatio;
for (let i = 0; i < canvasIdLists.length; i++) {
const id = canvasIdLists[i];
yield new Promise((resolve => {
let data = tt.createSelectorQuery();
component && (data = data.in(component)), data.select(`#${id}`).node().exec((res => {
const canvas = res[0].node, width = canvas.width, height = canvas.height;
canvas.width = width * dpr, canvas.height = height * dpr, canvasMap.set(id, canvas),
i >= freeCanvasIdx && freeCanvasList.push(canvas), resolve(null);
}));
}));
}
}));
}
let TTEnvContribution = class extends BaseEnvContribution {
constructor() {
super(), this.type = "tt", this.supportEvent = !0, this.canvasMap = new Map, this.freeCanvasList = [],
this.canvasIdx = 0, this.supportsTouchEvents = !0;
try {
this.supportsPointerEvents = !!globalThis.PointerEvent, this.supportsMouseEvents = !!globalThis.MouseEvent;
} catch (err) {
this.supportsPointerEvents = !1, this.supportsMouseEvents = !1;
}
this.applyStyles = !0;
}
configure(service, params) {
if (service.env === this.type) return service.setActiveEnvContribution(this), makeUpCanvas(params.domref, params.canvasIdLists, this.canvasMap, params.freeCanvasIdx, this.freeCanvasList, params.component).then((() => {}));
}
loadImage(url) {
return Promise.resolve({
data: url,
loadState: "success"
});
}
loadSvg(url) {
return Promise.reject();
}
createCanvas(params) {
const result = this.freeCanvasList[this.canvasIdx] || this.freeCanvasList[this.freeCanvasList.length - 1];
return this.canvasIdx++, result;
}
createOffscreenCanvas(params) {}
releaseCanvas(canvas) {}
getDevicePixelRatio() {
return tt.getSystemInfoSync().pixelRatio;
}
getRequestAnimationFrame() {
return function(callback) {
return rafBasedSto.call(callback);
};
}
getCancelAnimationFrame() {
return h => {
rafBasedSto.clear(h);
};
}
addEventListener(type, listener, options) {
return null;
}
removeEventListener(type, listener, options) {
return null;
}
dispatchEvent(event) {
return null;
}
getElementById(str) {
return this.canvasMap.get(str);
}
getRootElement() {
return null;
}
getDocument() {
return null;
}
release(...params) {}
mapToCanvasPoint(event) {
var _a;
return null === (_a = null == event ? void 0 : event.type) || void 0 === _a || _a.startsWith("mouse"),
event;
}
};
TTEnvContribution = __decorate([ injectable(), __metadata("design:paramtypes", []) ], TTEnvContribution);
export { TTEnvContribution };
//# sourceMappingURL=tt-contribution.js.map