UNPKG

@visactor/vrender-kits

Version:

```typescript import { xxx } from '@visactor/vrender-kits'; ```

61 lines (55 loc) 3.87 kB
"use strict"; 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); }, __param = this && this.__param || function(paramIndex, decorator) { return function(target, key) { decorator(target, key, paramIndex); }; }; Object.defineProperty(exports, "__esModule", { value: !0 }), exports.DefaultCanvasSymbolPicker = void 0; const vrender_core_1 = require("@visactor/vrender-core"), base_3d_picker_1 = require("../common/base-3d-picker"); let DefaultCanvasSymbolPicker = class extends base_3d_picker_1.Base3dPicker { constructor(canvasRenderer) { super(), this.canvasRenderer = canvasRenderer, this.type = "symbol", this.numberType = vrender_core_1.SYMBOL_NUMBER_TYPE; } contains(symbol, point, params) { const {pickContext: pickContext} = null != params ? params : {}; if (!pickContext) return !1; const parsedPath = symbol.getParsedPath(); if (!pickContext.camera) { if (!symbol.AABBBounds.containsPoint(point)) return !1; if (parsedPath.isSvg || "imprecise" === symbol.attribute.pickMode) return !0; } pickContext.highPerformanceSave(); const symbolAttribute = symbol.getGraphicTheme(), data = this.transform(symbol, symbolAttribute, pickContext), {x: x, y: y, z: z, lastModelMatrix: lastModelMatrix} = data; let pickPoint = point; if (pickContext.camera) { pickPoint = point.clone(); const globalMatrix = symbol.parent.globalTransMatrix; pickPoint.x = globalMatrix.a * point.x + globalMatrix.c * point.y + globalMatrix.e, pickPoint.y = globalMatrix.b * point.x + globalMatrix.d * point.y + globalMatrix.f; } this.canvasRenderer.z = z; let picked = !1; return this.canvasRenderer.drawShape(symbol, pickContext, x, y, {}, null, ((context, symbolAttribute, themeAttribute) => !!picked || (picked = context.isPointInPath(pickPoint.x, pickPoint.y), picked)), ((context, symbolAttribute, themeAttribute) => { if (picked) return !0; const lineWidth = symbolAttribute.lineWidth || themeAttribute.lineWidth, pickStrokeBuffer = symbolAttribute.pickStrokeBuffer || themeAttribute.pickStrokeBuffer, keepStrokeScale = symbolAttribute.keepStrokeScale || themeAttribute.keepStrokeScale; return pickContext.lineWidth = keepStrokeScale ? lineWidth + pickStrokeBuffer : (0, vrender_core_1.getScaledStroke)(pickContext, lineWidth + pickStrokeBuffer, pickContext.dpr), picked = context.isPointInStroke(pickPoint.x, pickPoint.y), picked; })), this.canvasRenderer.z = 0, pickContext.modelMatrix !== lastModelMatrix && vrender_core_1.mat4Allocate.free(pickContext.modelMatrix), pickContext.modelMatrix = lastModelMatrix, pickContext.highPerformanceRestore(), picked; } }; DefaultCanvasSymbolPicker = __decorate([ (0, vrender_core_1.injectable)(), __param(0, (0, vrender_core_1.inject)(vrender_core_1.SymbolRender)), __metadata("design:paramtypes", [ Object ]) ], DefaultCanvasSymbolPicker), exports.DefaultCanvasSymbolPicker = DefaultCanvasSymbolPicker; //# sourceMappingURL=symbol-picker.js.map