@visactor/vrender-kits 0.21.9-alpha.1 → 0.21.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -42,7 +42,13 @@ let LynxContext2d = class extends browser_1.BrowserContext2d {
42
42
  }
43
43
  measureText(text, method = vrender_core_1.application.global.measureTextMethod) {
44
44
  this.setTransform(1, 0, 0, 1, 0, 0, !0, vrender_core_1.application.global.devicePixelRatio);
45
- return super.measureText(text, method);
45
+ return {
46
+ width: super.measureText(text, method).width,
47
+ fontBoundingBoxDescent: void 0,
48
+ fontBoundingBoxAscent: void 0,
49
+ actualBoundingBoxAscent: void 0,
50
+ actualBoundingBoxDescent: void 0
51
+ };
46
52
  }
47
53
  createPattern(image, repetition) {
48
54
  return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/canvas/contributions/lynx/context.ts"],"names":[],"mappings":"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","file":"context.js","sourcesContent":["// 参考konva\nimport { injectable, createColor, getScaledStroke, application } from '@visactor/vrender-core';\nimport type { IContext2d, EnvType, ISetStrokeStyleParams, IStrokeStyleParams } from '@visactor/vrender-core';\nimport { BrowserContext2d } from '../browser';\n\n@injectable()\nexport class LynxContext2d extends BrowserContext2d implements IContext2d {\n static env: EnvType = 'lynx';\n\n declare drawPromise?: Promise<any>;\n\n declare _globalAlpha: number;\n\n get globalAlpha(): number {\n return this._globalAlpha;\n }\n set globalAlpha(ga: number) {\n this.nativeContext.globalAlpha = ga * this.baseGlobalAlpha;\n this._globalAlpha = ga * this.baseGlobalAlpha;\n }\n\n setLineDash(segments: number[]) {\n const a = arguments;\n const _context = this.nativeContext;\n\n if (!!this.nativeContext.setLineDash) {\n const lineDash = a[0];\n // lynx环境中lineDash不能为[0, 0]\n if (lineDash[0] === 0 && lineDash[1] === 0) {\n return;\n }\n lineDash && _context.setLineDash(lineDash);\n }\n }\n\n protected _setStrokeStyle(\n params: ISetStrokeStyleParams,\n attribute: IStrokeStyleParams,\n // 用于渐变色\n offsetX: number,\n offsetY: number,\n defaultParams?: IStrokeStyleParams\n ) {\n const _context = this.nativeContext;\n if (!defaultParams) {\n defaultParams = this.strokeAttributes;\n }\n const { strokeOpacity = defaultParams.strokeOpacity, opacity = defaultParams.opacity } = attribute;\n if (strokeOpacity > 1e-12 && opacity > 1e-12) {\n const {\n lineWidth = defaultParams.lineWidth,\n stroke = defaultParams.stroke,\n lineJoin = defaultParams.lineJoin,\n lineDash = defaultParams.lineDash,\n lineCap = defaultParams.lineCap,\n miterLimit = defaultParams.miterLimit,\n keepStrokeScale = defaultParams.keepStrokeScale\n } = attribute;\n _context.globalAlpha = strokeOpacity * opacity * this.baseGlobalAlpha;\n _context.lineWidth = keepStrokeScale ? lineWidth : getScaledStroke(this, lineWidth, this.dpr);\n _context.strokeStyle = createColor(this, stroke as any, params, offsetX, offsetY);\n _context.lineJoin = lineJoin;\n // lynx环境中lineDash不能为[0, 0]\n if (!(lineDash[0] === 0 && lineDash[1] === 0)) {\n lineDash && _context.setLineDash(lineDash);\n }\n _context.lineCap = lineCap;\n _context.miterLimit = miterLimit;\n }\n }\n\n measureText(\n text: string,\n method: 'native' | 'simple' | 'quick' = application.global.measureTextMethod\n ): { width: number } {\n this.setTransform(1, 0, 0, 1, 0, 0, true, application.global.devicePixelRatio);\n const data = super.measureText(text, method);\n return data;\n }\n\n createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern {\n return null;\n }\n\n draw() {\n const _context = this.nativeContext as any;\n if (!_context.draw) {\n return;\n }\n this.drawPromise = new Promise(resolve => {\n _context.draw(true, () => {\n this.drawPromise = null;\n resolve(null);\n });\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/canvas/contributions/lynx/context.ts"],"names":[],"mappings":"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","file":"context.js","sourcesContent":["// 参考konva\nimport { injectable, createColor, getScaledStroke, application } from '@visactor/vrender-core';\nimport type { IContext2d, EnvType, ISetStrokeStyleParams, IStrokeStyleParams } from '@visactor/vrender-core';\nimport { BrowserContext2d } from '../browser';\n\n@injectable()\nexport class LynxContext2d extends BrowserContext2d implements IContext2d {\n static env: EnvType = 'lynx';\n\n declare drawPromise?: Promise<any>;\n\n declare _globalAlpha: number;\n\n get globalAlpha(): number {\n return this._globalAlpha;\n }\n set globalAlpha(ga: number) {\n this.nativeContext.globalAlpha = ga * this.baseGlobalAlpha;\n this._globalAlpha = ga * this.baseGlobalAlpha;\n }\n\n setLineDash(segments: number[]) {\n const a = arguments;\n const _context = this.nativeContext;\n\n if (!!this.nativeContext.setLineDash) {\n const lineDash = a[0];\n // lynx环境中lineDash不能为[0, 0]\n if (lineDash[0] === 0 && lineDash[1] === 0) {\n return;\n }\n lineDash && _context.setLineDash(lineDash);\n }\n }\n\n protected _setStrokeStyle(\n params: ISetStrokeStyleParams,\n attribute: IStrokeStyleParams,\n // 用于渐变色\n offsetX: number,\n offsetY: number,\n defaultParams?: IStrokeStyleParams\n ) {\n const _context = this.nativeContext;\n if (!defaultParams) {\n defaultParams = this.strokeAttributes;\n }\n const { strokeOpacity = defaultParams.strokeOpacity, opacity = defaultParams.opacity } = attribute;\n if (strokeOpacity > 1e-12 && opacity > 1e-12) {\n const {\n lineWidth = defaultParams.lineWidth,\n stroke = defaultParams.stroke,\n lineJoin = defaultParams.lineJoin,\n lineDash = defaultParams.lineDash,\n lineCap = defaultParams.lineCap,\n miterLimit = defaultParams.miterLimit,\n keepStrokeScale = defaultParams.keepStrokeScale\n } = attribute;\n _context.globalAlpha = strokeOpacity * opacity * this.baseGlobalAlpha;\n _context.lineWidth = keepStrokeScale ? lineWidth : getScaledStroke(this, lineWidth, this.dpr);\n _context.strokeStyle = createColor(this, stroke as any, params, offsetX, offsetY);\n _context.lineJoin = lineJoin;\n // lynx环境中lineDash不能为[0, 0]\n if (!(lineDash[0] === 0 && lineDash[1] === 0)) {\n lineDash && _context.setLineDash(lineDash);\n }\n _context.lineCap = lineCap;\n _context.miterLimit = miterLimit;\n }\n }\n\n measureText(\n text: string,\n method: 'native' | 'simple' | 'quick' = application.global.measureTextMethod\n ): { width: number } {\n this.setTransform(1, 0, 0, 1, 0, 0, true, application.global.devicePixelRatio);\n const data: any = super.measureText(text, method);\n // lynx环境中的fontBoundingBoxDescent和fontBoundingBoxAscent有严重偏移,暂时规避\n return {\n width: data.width,\n fontBoundingBoxDescent: undefined,\n fontBoundingBoxAscent: undefined,\n actualBoundingBoxAscent: undefined,\n actualBoundingBoxDescent: undefined\n } as any;\n }\n\n createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern {\n return null;\n }\n\n draw() {\n const _context = this.nativeContext as any;\n if (!_context.draw) {\n return;\n }\n this.drawPromise = new Promise(resolve => {\n _context.draw(true, () => {\n this.drawPromise = null;\n resolve(null);\n });\n });\n }\n}\n"]}
package/dist/index.es.js CHANGED
@@ -5326,7 +5326,13 @@ let LynxContext2d = class LynxContext2d extends BrowserContext2d {
5326
5326
  measureText(text, method = application.global.measureTextMethod) {
5327
5327
  this.setTransform(1, 0, 0, 1, 0, 0, true, application.global.devicePixelRatio);
5328
5328
  const data = super.measureText(text, method);
5329
- return data;
5329
+ return {
5330
+ width: data.width,
5331
+ fontBoundingBoxDescent: undefined,
5332
+ fontBoundingBoxAscent: undefined,
5333
+ actualBoundingBoxAscent: undefined,
5334
+ actualBoundingBoxDescent: undefined
5335
+ };
5330
5336
  }
5331
5337
  createPattern(image, repetition) {
5332
5338
  return null;
@@ -37,7 +37,13 @@ let LynxContext2d = class extends BrowserContext2d {
37
37
  }
38
38
  measureText(text, method = application.global.measureTextMethod) {
39
39
  this.setTransform(1, 0, 0, 1, 0, 0, !0, application.global.devicePixelRatio);
40
- return super.measureText(text, method);
40
+ return {
41
+ width: super.measureText(text, method).width,
42
+ fontBoundingBoxDescent: void 0,
43
+ fontBoundingBoxAscent: void 0,
44
+ actualBoundingBoxAscent: void 0,
45
+ actualBoundingBoxDescent: void 0
46
+ };
41
47
  }
42
48
  createPattern(image, repetition) {
43
49
  return null;
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/canvas/contributions/lynx/context.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGvC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,gBAAgB;IAOjD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,WAAW,CAAC,EAAU;QACxB,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,QAAkB;QAC5B,MAAM,CAAC,GAAG,SAAS,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QAEpC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;YACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC1C,OAAO;aACR;YACD,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC5C;IACH,CAAC;IAES,eAAe,CACvB,MAA6B,EAC7B,SAA6B,EAE7B,OAAe,EACf,OAAe,EACf,aAAkC;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,IAAI,CAAC,aAAa,EAAE;YAClB,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACvC;QACD,MAAM,EAAE,aAAa,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;QACnG,IAAI,aAAa,GAAG,KAAK,IAAI,OAAO,GAAG,KAAK,EAAE;YAC5C,MAAM,EACJ,SAAS,GAAG,aAAa,CAAC,SAAS,EACnC,MAAM,GAAG,aAAa,CAAC,MAAM,EAC7B,QAAQ,GAAG,aAAa,CAAC,QAAQ,EACjC,QAAQ,GAAG,aAAa,CAAC,QAAQ,EACjC,OAAO,GAAG,aAAa,CAAC,OAAO,EAC/B,UAAU,GAAG,aAAa,CAAC,UAAU,EACrC,eAAe,GAAG,aAAa,CAAC,eAAe,EAChD,GAAG,SAAS,CAAC;YACd,QAAQ,CAAC,WAAW,GAAG,aAAa,GAAG,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;YACtE,QAAQ,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9F,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,MAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAClF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAE7B,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC7C,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aAC5C;YACD,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;SAClC;IACH,CAAC;IAED,WAAW,CACT,IAAY,EACZ,SAAwC,WAAW,CAAC,MAAM,CAAC,iBAAiB;QAE5E,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAG,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,KAA8D,EAAE,UAAkB;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAoB,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;gBACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;AAxFM,iBAAG,GAAY,MAAM,CAAC;AADlB,aAAa;IADzB,UAAU,EAAE;GACA,aAAa,CA0FzB;SA1FY,aAAa","file":"context.js","sourcesContent":["// 参考konva\nimport { injectable, createColor, getScaledStroke, application } from '@visactor/vrender-core';\nimport type { IContext2d, EnvType, ISetStrokeStyleParams, IStrokeStyleParams } from '@visactor/vrender-core';\nimport { BrowserContext2d } from '../browser';\n\n@injectable()\nexport class LynxContext2d extends BrowserContext2d implements IContext2d {\n static env: EnvType = 'lynx';\n\n declare drawPromise?: Promise<any>;\n\n declare _globalAlpha: number;\n\n get globalAlpha(): number {\n return this._globalAlpha;\n }\n set globalAlpha(ga: number) {\n this.nativeContext.globalAlpha = ga * this.baseGlobalAlpha;\n this._globalAlpha = ga * this.baseGlobalAlpha;\n }\n\n setLineDash(segments: number[]) {\n const a = arguments;\n const _context = this.nativeContext;\n\n if (!!this.nativeContext.setLineDash) {\n const lineDash = a[0];\n // lynx环境中lineDash不能为[0, 0]\n if (lineDash[0] === 0 && lineDash[1] === 0) {\n return;\n }\n lineDash && _context.setLineDash(lineDash);\n }\n }\n\n protected _setStrokeStyle(\n params: ISetStrokeStyleParams,\n attribute: IStrokeStyleParams,\n // 用于渐变色\n offsetX: number,\n offsetY: number,\n defaultParams?: IStrokeStyleParams\n ) {\n const _context = this.nativeContext;\n if (!defaultParams) {\n defaultParams = this.strokeAttributes;\n }\n const { strokeOpacity = defaultParams.strokeOpacity, opacity = defaultParams.opacity } = attribute;\n if (strokeOpacity > 1e-12 && opacity > 1e-12) {\n const {\n lineWidth = defaultParams.lineWidth,\n stroke = defaultParams.stroke,\n lineJoin = defaultParams.lineJoin,\n lineDash = defaultParams.lineDash,\n lineCap = defaultParams.lineCap,\n miterLimit = defaultParams.miterLimit,\n keepStrokeScale = defaultParams.keepStrokeScale\n } = attribute;\n _context.globalAlpha = strokeOpacity * opacity * this.baseGlobalAlpha;\n _context.lineWidth = keepStrokeScale ? lineWidth : getScaledStroke(this, lineWidth, this.dpr);\n _context.strokeStyle = createColor(this, stroke as any, params, offsetX, offsetY);\n _context.lineJoin = lineJoin;\n // lynx环境中lineDash不能为[0, 0]\n if (!(lineDash[0] === 0 && lineDash[1] === 0)) {\n lineDash && _context.setLineDash(lineDash);\n }\n _context.lineCap = lineCap;\n _context.miterLimit = miterLimit;\n }\n }\n\n measureText(\n text: string,\n method: 'native' | 'simple' | 'quick' = application.global.measureTextMethod\n ): { width: number } {\n this.setTransform(1, 0, 0, 1, 0, 0, true, application.global.devicePixelRatio);\n const data = super.measureText(text, method);\n return data;\n }\n\n createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern {\n return null;\n }\n\n draw() {\n const _context = this.nativeContext as any;\n if (!_context.draw) {\n return;\n }\n this.drawPromise = new Promise(resolve => {\n _context.draw(true, () => {\n this.drawPromise = null;\n resolve(null);\n });\n });\n }\n}\n"]}
1
+ {"version":3,"sources":["../src/canvas/contributions/lynx/context.ts"],"names":[],"mappings":";;;;;;AACA,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAGvC,IAAM,aAAa,GAAnB,MAAM,aAAc,SAAQ,gBAAgB;IAOjD,IAAI,WAAW;QACb,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IACD,IAAI,WAAW,CAAC,EAAU;QACxB,IAAI,CAAC,aAAa,CAAC,WAAW,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;QAC3D,IAAI,CAAC,YAAY,GAAG,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC;IAChD,CAAC;IAED,WAAW,CAAC,QAAkB;QAC5B,MAAM,CAAC,GAAG,SAAS,CAAC;QACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QAEpC,IAAI,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE;YACpC,MAAM,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAEtB,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE;gBAC1C,OAAO;aACR;YACD,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;SAC5C;IACH,CAAC;IAES,eAAe,CACvB,MAA6B,EAC7B,SAA6B,EAE7B,OAAe,EACf,OAAe,EACf,aAAkC;QAElC,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC;QACpC,IAAI,CAAC,aAAa,EAAE;YAClB,aAAa,GAAG,IAAI,CAAC,gBAAgB,CAAC;SACvC;QACD,MAAM,EAAE,aAAa,GAAG,aAAa,CAAC,aAAa,EAAE,OAAO,GAAG,aAAa,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC;QACnG,IAAI,aAAa,GAAG,KAAK,IAAI,OAAO,GAAG,KAAK,EAAE;YAC5C,MAAM,EACJ,SAAS,GAAG,aAAa,CAAC,SAAS,EACnC,MAAM,GAAG,aAAa,CAAC,MAAM,EAC7B,QAAQ,GAAG,aAAa,CAAC,QAAQ,EACjC,QAAQ,GAAG,aAAa,CAAC,QAAQ,EACjC,OAAO,GAAG,aAAa,CAAC,OAAO,EAC/B,UAAU,GAAG,aAAa,CAAC,UAAU,EACrC,eAAe,GAAG,aAAa,CAAC,eAAe,EAChD,GAAG,SAAS,CAAC;YACd,QAAQ,CAAC,WAAW,GAAG,aAAa,GAAG,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC;YACtE,QAAQ,CAAC,SAAS,GAAG,eAAe,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;YAC9F,QAAQ,CAAC,WAAW,GAAG,WAAW,CAAC,IAAI,EAAE,MAAa,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAClF,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC;YAE7B,IAAI,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE;gBAC7C,QAAQ,IAAI,QAAQ,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;aAC5C;YACD,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC;YAC3B,QAAQ,CAAC,UAAU,GAAG,UAAU,CAAC;SAClC;IACH,CAAC;IAED,WAAW,CACT,IAAY,EACZ,SAAwC,WAAW,CAAC,MAAM,CAAC,iBAAiB;QAE5E,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QAC/E,MAAM,IAAI,GAAQ,KAAK,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAElD,OAAO;YACL,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,sBAAsB,EAAE,SAAS;YACjC,qBAAqB,EAAE,SAAS;YAChC,uBAAuB,EAAE,SAAS;YAClC,wBAAwB,EAAE,SAAS;SAC7B,CAAC;IACX,CAAC;IAED,aAAa,CAAC,KAA8D,EAAE,UAAkB;QAC9F,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAoB,CAAC;QAC3C,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAClB,OAAO;SACR;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YACvC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;gBACvB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,CAAC;YAChB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;;AA/FM,iBAAG,GAAY,MAAM,CAAC;AADlB,aAAa;IADzB,UAAU,EAAE;GACA,aAAa,CAiGzB;SAjGY,aAAa","file":"context.js","sourcesContent":["// 参考konva\nimport { injectable, createColor, getScaledStroke, application } from '@visactor/vrender-core';\nimport type { IContext2d, EnvType, ISetStrokeStyleParams, IStrokeStyleParams } from '@visactor/vrender-core';\nimport { BrowserContext2d } from '../browser';\n\n@injectable()\nexport class LynxContext2d extends BrowserContext2d implements IContext2d {\n static env: EnvType = 'lynx';\n\n declare drawPromise?: Promise<any>;\n\n declare _globalAlpha: number;\n\n get globalAlpha(): number {\n return this._globalAlpha;\n }\n set globalAlpha(ga: number) {\n this.nativeContext.globalAlpha = ga * this.baseGlobalAlpha;\n this._globalAlpha = ga * this.baseGlobalAlpha;\n }\n\n setLineDash(segments: number[]) {\n const a = arguments;\n const _context = this.nativeContext;\n\n if (!!this.nativeContext.setLineDash) {\n const lineDash = a[0];\n // lynx环境中lineDash不能为[0, 0]\n if (lineDash[0] === 0 && lineDash[1] === 0) {\n return;\n }\n lineDash && _context.setLineDash(lineDash);\n }\n }\n\n protected _setStrokeStyle(\n params: ISetStrokeStyleParams,\n attribute: IStrokeStyleParams,\n // 用于渐变色\n offsetX: number,\n offsetY: number,\n defaultParams?: IStrokeStyleParams\n ) {\n const _context = this.nativeContext;\n if (!defaultParams) {\n defaultParams = this.strokeAttributes;\n }\n const { strokeOpacity = defaultParams.strokeOpacity, opacity = defaultParams.opacity } = attribute;\n if (strokeOpacity > 1e-12 && opacity > 1e-12) {\n const {\n lineWidth = defaultParams.lineWidth,\n stroke = defaultParams.stroke,\n lineJoin = defaultParams.lineJoin,\n lineDash = defaultParams.lineDash,\n lineCap = defaultParams.lineCap,\n miterLimit = defaultParams.miterLimit,\n keepStrokeScale = defaultParams.keepStrokeScale\n } = attribute;\n _context.globalAlpha = strokeOpacity * opacity * this.baseGlobalAlpha;\n _context.lineWidth = keepStrokeScale ? lineWidth : getScaledStroke(this, lineWidth, this.dpr);\n _context.strokeStyle = createColor(this, stroke as any, params, offsetX, offsetY);\n _context.lineJoin = lineJoin;\n // lynx环境中lineDash不能为[0, 0]\n if (!(lineDash[0] === 0 && lineDash[1] === 0)) {\n lineDash && _context.setLineDash(lineDash);\n }\n _context.lineCap = lineCap;\n _context.miterLimit = miterLimit;\n }\n }\n\n measureText(\n text: string,\n method: 'native' | 'simple' | 'quick' = application.global.measureTextMethod\n ): { width: number } {\n this.setTransform(1, 0, 0, 1, 0, 0, true, application.global.devicePixelRatio);\n const data: any = super.measureText(text, method);\n // lynx环境中的fontBoundingBoxDescent和fontBoundingBoxAscent有严重偏移,暂时规避\n return {\n width: data.width,\n fontBoundingBoxDescent: undefined,\n fontBoundingBoxAscent: undefined,\n actualBoundingBoxAscent: undefined,\n actualBoundingBoxDescent: undefined\n } as any;\n }\n\n createPattern(image: HTMLImageElement | HTMLCanvasElement | HTMLVideoElement, repetition: string): CanvasPattern {\n return null;\n }\n\n draw() {\n const _context = this.nativeContext as any;\n if (!_context.draw) {\n return;\n }\n this.drawPromise = new Promise(resolve => {\n _context.draw(true, () => {\n this.drawPromise = null;\n resolve(null);\n });\n });\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@visactor/vrender-kits",
3
- "version": "0.21.9-alpha.1",
3
+ "version": "0.21.9",
4
4
  "description": "",
5
5
  "sideEffects": false,
6
6
  "main": "cjs/index.js",
@@ -13,7 +13,7 @@
13
13
  ],
14
14
  "dependencies": {
15
15
  "@visactor/vutils": "~0.19.3",
16
- "@visactor/vrender-core": "0.21.9-alpha.1",
16
+ "@visactor/vrender-core": "0.21.9",
17
17
  "@resvg/resvg-js": "2.4.1",
18
18
  "roughjs": "4.5.2",
19
19
  "gifuct-js": "2.1.2"
@@ -33,8 +33,8 @@
33
33
  "typescript": "4.9.5",
34
34
  "cross-env": "^7.0.3",
35
35
  "@internal/bundler": "0.0.1",
36
- "@internal/eslint-config": "0.0.1",
37
- "@internal/ts-config": "0.0.1"
36
+ "@internal/ts-config": "0.0.1",
37
+ "@internal/eslint-config": "0.0.1"
38
38
  },
39
39
  "keywords": [
40
40
  "VisActor",