@visactor/vrender 0.14.4 → 0.14.5-alpha.2
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.
- package/cjs/event/event-manager.js +6 -4
- package/cjs/event/event-manager.js.map +1 -1
- package/cjs/index.d.ts +1 -1
- package/cjs/index.js +1 -1
- package/cjs/index.js.map +1 -1
- package/cjs/interface/graphic.d.ts +1 -0
- package/cjs/interface/graphic.js.map +1 -1
- package/cjs/render/contributions/render/contributions/arc-contribution-render.js +5 -5
- package/cjs/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js +5 -5
- package/cjs/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js +5 -5
- package/cjs/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js +21 -21
- package/cjs/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/dist/index.js +32 -23
- package/dist/index.min.js +1 -1
- package/es/event/event-manager.js +6 -4
- package/es/event/event-manager.js.map +1 -1
- package/es/index.d.ts +1 -1
- package/es/index.js +1 -1
- package/es/index.js.map +1 -1
- package/es/interface/graphic.d.ts +1 -0
- package/es/interface/graphic.js.map +1 -1
- package/es/render/contributions/render/contributions/arc-contribution-render.js +5 -5
- package/es/render/contributions/render/contributions/arc-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/circle-contribution-render.js +5 -5
- package/es/render/contributions/render/contributions/circle-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/rect-contribution-render.js +5 -5
- package/es/render/contributions/render/contributions/rect-contribution-render.js.map +1 -1
- package/es/render/contributions/render/contributions/symbol-contribution-render.js +19 -19
- package/es/render/contributions/render/contributions/symbol-contribution-render.js.map +1 -1
- package/es/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/render/contributions/render/contributions/rect-contribution-render.ts"],"names":[],"mappings":"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","file":"rect-contribution-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { injectable } from 'inversify';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IRect,\n IRectGraphicAttribute,\n IThemeAttribute,\n IRectRenderContribution,\n IDrawContext\n} from '../../../../interface';\nimport { getScaledStroke } from '../../../../common/canvas-utils';\nimport {\n DefaultBaseBackgroundRenderContribution,\n DefaultBaseTextureRenderContribution\n} from './base-contribution-render';\nimport { createRectPath } from '../../../../common/shape/rect';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\n\n@injectable()\nexport class DefaultRectRenderContribution implements IRectRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n rectAttribute: Required<IRectGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const {\n width = rectAttribute.width,\n height = rectAttribute.height,\n cornerRadius = rectAttribute.cornerRadius,\n opacity = rectAttribute.opacity,\n outerBorder,\n innerBorder\n } = rect.attribute;\n\n if (outerBorder) {\n const { distance = rectAttribute.outerBorder.distance } = outerBorder;\n const d = getScaledStroke(context, distance as number, context.dpr);\n const nextX = x - d;\n const nextY = y - d;\n const dw = d * 2;\n if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(nextX, nextY, width + dw, height + dw);\n } else {\n context.beginPath();\n\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, nextX, nextY, width + dw, height + dw, cornerRadius);\n }\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(rect, rect.attribute, rectAttribute);\n\n if (strokeCb) {\n strokeCb(context, outerBorder, rectAttribute.outerBorder);\n } else if (sVisible) {\n // 存在stroke\n const lastOpacity = (rectAttribute.outerBorder as any).opacity;\n (rectAttribute.outerBorder as any).opacity = opacity;\n context.setStrokeStyle(rect, outerBorder, x, y, rectAttribute.outerBorder as any);\n (rectAttribute.outerBorder as any).opacity = lastOpacity;\n context.stroke();\n }\n }\n\n if (innerBorder) {\n const { distance = rectAttribute.innerBorder.distance } = innerBorder;\n const d = getScaledStroke(context, distance as number, context.dpr);\n const nextX = x + d;\n const nextY = y + d;\n const dw = d * 2;\n if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(nextX, nextY, width - dw, height - dw);\n } else {\n context.beginPath();\n\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, nextX, nextY, width - dw, height - dw, cornerRadius);\n }\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(rect, rect.attribute, rectAttribute);\n\n if (strokeCb) {\n strokeCb(context, innerBorder, rectAttribute.innerBorder);\n } else if (sVisible) {\n // 存在stroke\n const lastOpacity = (rectAttribute.innerBorder as any).opacity;\n (rectAttribute.innerBorder as any).opacity = opacity;\n context.setStrokeStyle(rect, innerBorder, x, y, rectAttribute.innerBorder as any);\n (rectAttribute.innerBorder as any).opacity = lastOpacity;\n context.stroke();\n }\n }\n }\n}\n\n@injectable()\nexport class DefaultRectBackgroundRenderContribution\n extends DefaultBaseBackgroundRenderContribution\n implements IRectRenderContribution\n{\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n}\n\n@injectable()\nexport class DefaultRectTextureRenderContribution\n extends DefaultBaseTextureRenderContribution\n implements IRectRenderContribution\n{\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n}\n\n@injectable()\nexport class SplitRectBeforeRenderContribution implements IRectRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n group: IRect,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n groupAttribute: Required<IRectGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n doFillOrStroke?: { doFill: boolean; doStroke: boolean }\n ) {\n const { stroke = groupAttribute.stroke } = group.attribute as any;\n\n // 数组且存在为false的项目,那就不绘制\n if (Array.isArray(stroke) && stroke.some(s => s === false)) {\n doFillOrStroke.doStroke = false;\n }\n }\n}\n\n@injectable()\nexport class SplitRectAfterRenderContribution implements IRectRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n groupAttribute: Required<IRectGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const {\n width = groupAttribute.width,\n height = groupAttribute.height,\n stroke = groupAttribute.stroke\n } = rect.attribute as any;\n\n // 不是数组\n if (!(Array.isArray(stroke) && stroke.some(s => s === false))) {\n return;\n }\n\n context.setStrokeStyle(rect, rect.attribute, x, y, groupAttribute);\n // 单独处理每条边界,目前不考虑圆角\n context.beginPath();\n context.moveTo(x, y);\n // top\n if (stroke[0]) {\n context.lineTo(x + width, y);\n } else {\n context.moveTo(x + width, y);\n }\n // right\n if (stroke[1]) {\n context.lineTo(x + width, y + height);\n } else {\n context.moveTo(x + width, y + height);\n }\n // bottom\n if (stroke[2]) {\n context.lineTo(x, y + height);\n } else {\n context.moveTo(x, y + height);\n }\n // left\n if (stroke[3]) {\n // 没有close path是,起点和终点不连续,需要调整y保证不出现缺口\n const adjustY = stroke[0] ? y - context.lineWidth / 2 : y;\n context.lineTo(x, adjustY);\n } else {\n context.moveTo(x, y);\n }\n\n context.stroke();\n }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/contributions/rect-contribution-render.ts"],"names":[],"mappings":"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","file":"rect-contribution-render.js","sourcesContent":["import { isArray } from '@visactor/vutils';\nimport { injectable } from 'inversify';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n IRect,\n IRectGraphicAttribute,\n IThemeAttribute,\n IRectRenderContribution,\n IDrawContext\n} from '../../../../interface';\nimport { getScaledStroke } from '../../../../common/canvas-utils';\nimport {\n DefaultBaseBackgroundRenderContribution,\n DefaultBaseTextureRenderContribution\n} from './base-contribution-render';\nimport { createRectPath } from '../../../../common/shape/rect';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\n\n@injectable()\nexport class DefaultRectRenderContribution implements IRectRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n rectAttribute: Required<IRectGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const {\n width = rectAttribute.width,\n height = rectAttribute.height,\n cornerRadius = rectAttribute.cornerRadius,\n opacity = rectAttribute.opacity,\n outerBorder,\n innerBorder\n } = rect.attribute;\n\n const doStrokeOuter = !!(outerBorder && outerBorder.stroke);\n const doStrokeInner = !!(innerBorder && innerBorder.stroke);\n\n if (outerBorder && outerBorder.visible !== false) {\n const { distance = rectAttribute.outerBorder.distance } = outerBorder;\n const d = getScaledStroke(context, distance as number, context.dpr);\n const nextX = x - d;\n const nextY = y - d;\n const dw = d * 2;\n if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(nextX, nextY, width + dw, height + dw);\n } else {\n context.beginPath();\n\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, nextX, nextY, width + dw, height + dw, cornerRadius);\n }\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(rect, rect.attribute, rectAttribute);\n\n if (strokeCb) {\n strokeCb(context, outerBorder, rectAttribute.outerBorder);\n } else if (doStrokeOuter) {\n // 存在stroke\n const lastOpacity = (rectAttribute.outerBorder as any).opacity;\n (rectAttribute.outerBorder as any).opacity = opacity;\n context.setStrokeStyle(rect, outerBorder, x, y, rectAttribute.outerBorder as any);\n (rectAttribute.outerBorder as any).opacity = lastOpacity;\n context.stroke();\n }\n }\n\n if (innerBorder && innerBorder.visible !== false) {\n const { distance = rectAttribute.innerBorder.distance } = innerBorder;\n const d = getScaledStroke(context, distance as number, context.dpr);\n const nextX = x + d;\n const nextY = y + d;\n const dw = d * 2;\n if (cornerRadius === 0 || (isArray(cornerRadius) && (<number[]>cornerRadius).every(num => num === 0))) {\n // 不需要处理圆角\n context.beginPath();\n context.rect(nextX, nextY, width - dw, height - dw);\n } else {\n context.beginPath();\n\n // 测试后,cache对于重绘性能提升不大,但是在首屏有一定性能损耗,因此rect不再使用cache\n createRectPath(context, nextX, nextY, width - dw, height - dw, cornerRadius);\n }\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(rect, rect.attribute, rectAttribute);\n\n if (strokeCb) {\n strokeCb(context, innerBorder, rectAttribute.innerBorder);\n } else if (doStrokeInner) {\n // 存在stroke\n const lastOpacity = (rectAttribute.innerBorder as any).opacity;\n (rectAttribute.innerBorder as any).opacity = opacity;\n context.setStrokeStyle(rect, innerBorder, x, y, rectAttribute.innerBorder as any);\n (rectAttribute.innerBorder as any).opacity = lastOpacity;\n context.stroke();\n }\n }\n }\n}\n\n@injectable()\nexport class DefaultRectBackgroundRenderContribution\n extends DefaultBaseBackgroundRenderContribution\n implements IRectRenderContribution\n{\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n}\n\n@injectable()\nexport class DefaultRectTextureRenderContribution\n extends DefaultBaseTextureRenderContribution\n implements IRectRenderContribution\n{\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n}\n\n@injectable()\nexport class SplitRectBeforeRenderContribution implements IRectRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n group: IRect,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n groupAttribute: Required<IRectGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n doFillOrStroke?: { doFill: boolean; doStroke: boolean }\n ) {\n const { stroke = groupAttribute.stroke } = group.attribute as any;\n\n // 数组且存在为false的项目,那就不绘制\n if (Array.isArray(stroke) && stroke.some(s => s === false)) {\n doFillOrStroke.doStroke = false;\n }\n }\n}\n\n@injectable()\nexport class SplitRectAfterRenderContribution implements IRectRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n rect: IRect,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n groupAttribute: Required<IRectGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const {\n width = groupAttribute.width,\n height = groupAttribute.height,\n stroke = groupAttribute.stroke\n } = rect.attribute as any;\n\n // 不是数组\n if (!(Array.isArray(stroke) && stroke.some(s => s === false))) {\n return;\n }\n\n context.setStrokeStyle(rect, rect.attribute, x, y, groupAttribute);\n // 单独处理每条边界,目前不考虑圆角\n context.beginPath();\n context.moveTo(x, y);\n // top\n if (stroke[0]) {\n context.lineTo(x + width, y);\n } else {\n context.moveTo(x + width, y);\n }\n // right\n if (stroke[1]) {\n context.lineTo(x + width, y + height);\n } else {\n context.moveTo(x + width, y + height);\n }\n // bottom\n if (stroke[2]) {\n context.lineTo(x, y + height);\n } else {\n context.moveTo(x, y + height);\n }\n // left\n if (stroke[3]) {\n // 没有close path是,起点和终点不连续,需要调整y保证不出现缺口\n const adjustY = stroke[0] ? y - context.lineWidth / 2 : y;\n context.lineTo(x, adjustY);\n } else {\n context.moveTo(x, y);\n }\n\n context.stroke();\n }\n}\n"]}
|
|
@@ -19,28 +19,28 @@ let DefaultSymbolRenderContribution = class {
|
|
|
19
19
|
}
|
|
20
20
|
drawShape(symbol, context, x, y, doFill, doStroke, fVisible, sVisible, symbolAttribute, drawContext, fillCb, strokeCb) {
|
|
21
21
|
const {size: size = symbolAttribute.size, opacity: opacity = symbolAttribute.opacity, outerBorder: outerBorder, innerBorder: innerBorder} = symbol.attribute, parsedPath = symbol.getParsedPath();
|
|
22
|
-
if (parsedPath)
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
22
|
+
if (!parsedPath) return;
|
|
23
|
+
const doStrokeOuter = !(!outerBorder || !outerBorder.stroke), doStrokeInner = !(!innerBorder || !innerBorder.stroke);
|
|
24
|
+
if (outerBorder && !1 !== outerBorder.visible) {
|
|
25
|
+
const {distance: distance = symbolAttribute.outerBorder.distance} = outerBorder, d = (0,
|
|
26
|
+
canvas_utils_1.getScaledStroke)(context, distance, context.dpr);
|
|
27
|
+
if (context.beginPath(), !1 === parsedPath.drawOffset(context, size, x, y, d) && context.closePath(),
|
|
28
|
+
context.setShadowStyle && context.setShadowStyle(symbol, symbol.attribute, symbolAttribute),
|
|
29
|
+
strokeCb) strokeCb(context, outerBorder, symbolAttribute.outerBorder); else if (doStrokeOuter) {
|
|
30
|
+
const lastOpacity = symbolAttribute.outerBorder.opacity;
|
|
31
|
+
symbolAttribute.outerBorder.opacity = opacity, context.setStrokeStyle(symbol, outerBorder, x, y, symbolAttribute.outerBorder),
|
|
32
|
+
symbolAttribute.outerBorder.opacity = lastOpacity, context.stroke();
|
|
33
33
|
}
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
}
|
|
35
|
+
if (innerBorder && !1 !== innerBorder.visible) {
|
|
36
|
+
const {distance: distance = symbolAttribute.innerBorder.distance} = innerBorder, d = (0,
|
|
37
|
+
canvas_utils_1.getScaledStroke)(context, distance, context.dpr);
|
|
38
|
+
if (context.beginPath(), !1 === parsedPath.drawOffset(context, size, x, y, -d) && context.closePath(),
|
|
39
|
+
context.setShadowStyle && context.setShadowStyle(symbol, symbol.attribute, symbolAttribute),
|
|
40
|
+
strokeCb) strokeCb(context, innerBorder, symbolAttribute.innerBorder); else if (doStrokeInner) {
|
|
41
|
+
const lastOpacity = symbolAttribute.innerBorder.opacity;
|
|
42
|
+
symbolAttribute.innerBorder.opacity = opacity, context.setStrokeStyle(symbol, innerBorder, x, y, symbolAttribute.innerBorder),
|
|
43
|
+
symbolAttribute.innerBorder.opacity = lastOpacity, context.stroke();
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/render/contributions/render/contributions/symbol-contribution-render.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yCAAuC;AAWvC,kEAAkE;AAClE,yEAGoC;AACpC,oDAAsE;AAG/D,IAAM,+BAA+B,GAArC,MAAM,+BAA+B;IAArC;QACL,SAAI,GAA+B,kCAA0B,CAAC,eAAe,CAAC;QAC9E,aAAQ,GAAY,IAAI,CAAC;QACzB,UAAK,GAAW,CAAC,CAAC;
|
|
1
|
+
{"version":3,"sources":["../../src/render/contributions/render/contributions/symbol-contribution-render.ts"],"names":[],"mappings":"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","file":"symbol-contribution-render.js","sourcesContent":["import { injectable } from 'inversify';\nimport type {\n IGraphicAttribute,\n IContext2d,\n IMarkAttribute,\n ISymbol,\n ISymbolGraphicAttribute,\n IThemeAttribute,\n ISymbolRenderContribution,\n IDrawContext\n} from '../../../../interface';\nimport { getScaledStroke } from '../../../../common/canvas-utils';\nimport {\n DefaultBaseBackgroundRenderContribution,\n DefaultBaseTextureRenderContribution\n} from './base-contribution-render';\nimport { BaseRenderContributionTime } from '../../../../common/enums';\n\n@injectable()\nexport class DefaultSymbolRenderContribution implements ISymbolRenderContribution {\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n useStyle: boolean = true;\n order: number = 0;\n drawShape(\n symbol: ISymbol,\n context: IContext2d,\n x: number,\n y: number,\n doFill: boolean,\n doStroke: boolean,\n fVisible: boolean,\n sVisible: boolean,\n symbolAttribute: Required<ISymbolGraphicAttribute>,\n drawContext: IDrawContext,\n fillCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean,\n strokeCb?: (\n ctx: IContext2d,\n markAttribute: Partial<IMarkAttribute & IGraphicAttribute>,\n themeAttribute: IThemeAttribute\n ) => boolean\n ) {\n const {\n size = symbolAttribute.size,\n opacity = symbolAttribute.opacity,\n outerBorder,\n innerBorder\n } = symbol.attribute;\n\n const parsedPath = symbol.getParsedPath();\n // todo: 考虑使用path\n if (!parsedPath) {\n return;\n }\n\n const doStrokeOuter = !!(outerBorder && outerBorder.stroke);\n const doStrokeInner = !!(innerBorder && innerBorder.stroke);\n\n if (outerBorder && outerBorder.visible !== false) {\n const { distance = symbolAttribute.outerBorder.distance } = outerBorder;\n const d = getScaledStroke(context, distance as number, context.dpr);\n\n context.beginPath();\n if (parsedPath.drawOffset(context, size, x, y, d) === false) {\n context.closePath();\n }\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(symbol, symbol.attribute, symbolAttribute);\n\n if (strokeCb) {\n strokeCb(context, outerBorder, symbolAttribute.outerBorder);\n } else if (doStrokeOuter) {\n // 存在stroke\n const lastOpacity = (symbolAttribute.outerBorder as any).opacity;\n (symbolAttribute.outerBorder as any).opacity = opacity;\n context.setStrokeStyle(symbol, outerBorder, x, y, symbolAttribute.outerBorder as any);\n (symbolAttribute.outerBorder as any).opacity = lastOpacity;\n context.stroke();\n }\n }\n\n if (innerBorder && innerBorder.visible !== false) {\n const { distance = symbolAttribute.innerBorder.distance } = innerBorder;\n const d = getScaledStroke(context, distance as number, context.dpr);\n\n context.beginPath();\n if (parsedPath.drawOffset(context, size, x, y, -d) === false) {\n context.closePath();\n }\n\n // shadow\n context.setShadowStyle && context.setShadowStyle(symbol, symbol.attribute, symbolAttribute);\n\n if (strokeCb) {\n strokeCb(context, innerBorder, symbolAttribute.innerBorder);\n } else if (doStrokeInner) {\n // 存在stroke\n const lastOpacity = (symbolAttribute.innerBorder as any).opacity;\n (symbolAttribute.innerBorder as any).opacity = opacity;\n context.setStrokeStyle(symbol, innerBorder, x, y, symbolAttribute.innerBorder as any);\n (symbolAttribute.innerBorder as any).opacity = lastOpacity;\n context.stroke();\n }\n }\n }\n}\n\nexport class DefaultSymbolBackgroundRenderContribution\n extends DefaultBaseBackgroundRenderContribution\n implements ISymbolRenderContribution\n{\n time: BaseRenderContributionTime = BaseRenderContributionTime.beforeFillStroke;\n}\n\nexport class DefaultSymbolTextureRenderContribution\n extends DefaultBaseTextureRenderContribution\n implements ISymbolRenderContribution\n{\n time: BaseRenderContributionTime = BaseRenderContributionTime.afterFillStroke;\n}\n"]}
|
package/dist/index.js
CHANGED
|
@@ -11795,20 +11795,23 @@
|
|
|
11795
11795
|
this.dispatch.emit(type || e.type, e);
|
|
11796
11796
|
}
|
|
11797
11797
|
mapEvent(e) {
|
|
11798
|
-
var _a;
|
|
11798
|
+
var _a, _b, _c, _d, _e;
|
|
11799
11799
|
if (!this.rootTarget) {
|
|
11800
11800
|
return;
|
|
11801
11801
|
}
|
|
11802
11802
|
const mappers = this.mappingTable[e.type];
|
|
11803
11803
|
let target;
|
|
11804
11804
|
const cacheKey = `${e.canvasX}-${e.canvasY}`;
|
|
11805
|
-
if ((_a = this._prePointTargetCache) === null || _a === void 0 ? void 0 : _a[cacheKey])
|
|
11805
|
+
if (((_a = this._prePointTargetCache) === null || _a === void 0 ? void 0 : _a[cacheKey]) &&
|
|
11806
|
+
((_c = (_b = this._prePointTargetCache) === null || _b === void 0 ? void 0 : _b[cacheKey]) === null || _c === void 0 ? void 0 : _c.stage.renderCount) ===
|
|
11807
|
+
((_d = this._prePointTargetCache) === null || _d === void 0 ? void 0 : _d.stageRenderCount)) {
|
|
11806
11808
|
target = this._prePointTargetCache[cacheKey];
|
|
11807
11809
|
}
|
|
11808
11810
|
else {
|
|
11809
11811
|
target = this.pickTarget(e.canvasX, e.canvasY);
|
|
11810
11812
|
this._prePointTargetCache = {
|
|
11811
|
-
[cacheKey]: target
|
|
11813
|
+
[cacheKey]: target,
|
|
11814
|
+
stageRenderCount: (_e = target === null || target === void 0 ? void 0 : target.stage.renderCount) !== null && _e !== void 0 ? _e : -1
|
|
11812
11815
|
};
|
|
11813
11816
|
}
|
|
11814
11817
|
if (mappers) {
|
|
@@ -12025,9 +12028,7 @@
|
|
|
12025
12028
|
}
|
|
12026
12029
|
}
|
|
12027
12030
|
}
|
|
12028
|
-
|
|
12029
|
-
this.emitDelegation(e, type);
|
|
12030
|
-
}
|
|
12031
|
+
this.emitDelegation(e, type);
|
|
12031
12032
|
}
|
|
12032
12033
|
emitDelegation(e, type) {
|
|
12033
12034
|
const events = e.currentTarget._events;
|
|
@@ -26828,7 +26829,9 @@
|
|
|
26828
26829
|
}
|
|
26829
26830
|
drawShape(arc, context, x, y, doFill, doStroke, fVisible, sVisible, arcAttribute, drawContext, fillCb, strokeCb) {
|
|
26830
26831
|
const { innerRadius = arcAttribute.innerRadius, outerRadius = arcAttribute.outerRadius, startAngle = arcAttribute.startAngle, endAngle = arcAttribute.endAngle, opacity = arcAttribute.opacity, outerBorder, innerBorder } = arc.attribute;
|
|
26831
|
-
|
|
26832
|
+
const doStrokeOuter = !!(outerBorder && outerBorder.stroke);
|
|
26833
|
+
const doStrokeInner = !!(innerBorder && innerBorder.stroke);
|
|
26834
|
+
if (outerBorder && outerBorder.visible !== false) {
|
|
26832
26835
|
const { distance = arcAttribute.outerBorder.distance } = outerBorder;
|
|
26833
26836
|
const d = getScaledStroke(context, distance, context.dpr);
|
|
26834
26837
|
const deltaAngle = distance / outerRadius;
|
|
@@ -26844,7 +26847,7 @@
|
|
|
26844
26847
|
if (strokeCb) {
|
|
26845
26848
|
strokeCb(context, outerBorder, arcAttribute.outerBorder);
|
|
26846
26849
|
}
|
|
26847
|
-
else if (
|
|
26850
|
+
else if (doStrokeOuter) {
|
|
26848
26851
|
const lastOpacity = arcAttribute.outerBorder.opacity;
|
|
26849
26852
|
arcAttribute.outerBorder.opacity = opacity;
|
|
26850
26853
|
context.setStrokeStyle(arc, outerBorder, x, y, arcAttribute.outerBorder);
|
|
@@ -26852,7 +26855,7 @@
|
|
|
26852
26855
|
context.stroke();
|
|
26853
26856
|
}
|
|
26854
26857
|
}
|
|
26855
|
-
if (innerBorder) {
|
|
26858
|
+
if (innerBorder && innerBorder.visible !== false) {
|
|
26856
26859
|
const { distance = arcAttribute.innerBorder.distance } = innerBorder;
|
|
26857
26860
|
const d = getScaledStroke(context, distance, context.dpr);
|
|
26858
26861
|
const deltaAngle = distance / outerRadius;
|
|
@@ -26868,7 +26871,7 @@
|
|
|
26868
26871
|
if (strokeCb) {
|
|
26869
26872
|
strokeCb(context, innerBorder, arcAttribute.innerBorder);
|
|
26870
26873
|
}
|
|
26871
|
-
else if (
|
|
26874
|
+
else if (doStrokeInner) {
|
|
26872
26875
|
const lastOpacity = arcAttribute.innerBorder.opacity;
|
|
26873
26876
|
arcAttribute.innerBorder.opacity = opacity;
|
|
26874
26877
|
context.setStrokeStyle(arc, innerBorder, x, y, arcAttribute.innerBorder);
|
|
@@ -26909,7 +26912,9 @@
|
|
|
26909
26912
|
}
|
|
26910
26913
|
drawShape(circle, context, x, y, doFill, doStroke, fVisible, sVisible, circleAttribute, drawContext, fillCb, strokeCb) {
|
|
26911
26914
|
const { radius = circleAttribute.radius, startAngle = circleAttribute.startAngle, endAngle = circleAttribute.endAngle, opacity = circleAttribute.opacity, outerBorder, innerBorder } = circle.attribute;
|
|
26912
|
-
|
|
26915
|
+
const doStrokeOuter = !!(outerBorder && outerBorder.stroke);
|
|
26916
|
+
const doStrokeInner = !!(innerBorder && innerBorder.stroke);
|
|
26917
|
+
if (outerBorder && outerBorder.visible !== false) {
|
|
26913
26918
|
const { distance = circleAttribute.outerBorder.distance } = outerBorder;
|
|
26914
26919
|
const d = getScaledStroke(context, distance, context.dpr);
|
|
26915
26920
|
const dw = d;
|
|
@@ -26920,7 +26925,7 @@
|
|
|
26920
26925
|
if (strokeCb) {
|
|
26921
26926
|
strokeCb(context, outerBorder, circleAttribute.outerBorder);
|
|
26922
26927
|
}
|
|
26923
|
-
else if (
|
|
26928
|
+
else if (doStrokeOuter) {
|
|
26924
26929
|
const lastOpacity = circleAttribute.outerBorder.opacity;
|
|
26925
26930
|
circleAttribute.outerBorder.opacity = opacity;
|
|
26926
26931
|
context.setStrokeStyle(circle, outerBorder, x, y, circleAttribute.outerBorder);
|
|
@@ -26928,7 +26933,7 @@
|
|
|
26928
26933
|
context.stroke();
|
|
26929
26934
|
}
|
|
26930
26935
|
}
|
|
26931
|
-
if (innerBorder) {
|
|
26936
|
+
if (innerBorder && innerBorder.visible !== false) {
|
|
26932
26937
|
const { distance = circleAttribute.innerBorder.distance } = innerBorder;
|
|
26933
26938
|
const d = getScaledStroke(context, distance, context.dpr);
|
|
26934
26939
|
const dw = d;
|
|
@@ -26939,7 +26944,7 @@
|
|
|
26939
26944
|
if (strokeCb) {
|
|
26940
26945
|
strokeCb(context, innerBorder, circleAttribute.innerBorder);
|
|
26941
26946
|
}
|
|
26942
|
-
else if (
|
|
26947
|
+
else if (doStrokeInner) {
|
|
26943
26948
|
const lastOpacity = circleAttribute.innerBorder.opacity;
|
|
26944
26949
|
circleAttribute.innerBorder.opacity = opacity;
|
|
26945
26950
|
context.setStrokeStyle(circle, innerBorder, x, y, circleAttribute.innerBorder);
|
|
@@ -27056,7 +27061,9 @@
|
|
|
27056
27061
|
}
|
|
27057
27062
|
drawShape(rect, context, x, y, doFill, doStroke, fVisible, sVisible, rectAttribute, drawContext, fillCb, strokeCb) {
|
|
27058
27063
|
const { width = rectAttribute.width, height = rectAttribute.height, cornerRadius = rectAttribute.cornerRadius, opacity = rectAttribute.opacity, outerBorder, innerBorder } = rect.attribute;
|
|
27059
|
-
|
|
27064
|
+
const doStrokeOuter = !!(outerBorder && outerBorder.stroke);
|
|
27065
|
+
const doStrokeInner = !!(innerBorder && innerBorder.stroke);
|
|
27066
|
+
if (outerBorder && outerBorder.visible !== false) {
|
|
27060
27067
|
const { distance = rectAttribute.outerBorder.distance } = outerBorder;
|
|
27061
27068
|
const d = getScaledStroke(context, distance, context.dpr);
|
|
27062
27069
|
const nextX = x - d;
|
|
@@ -27074,7 +27081,7 @@
|
|
|
27074
27081
|
if (strokeCb) {
|
|
27075
27082
|
strokeCb(context, outerBorder, rectAttribute.outerBorder);
|
|
27076
27083
|
}
|
|
27077
|
-
else if (
|
|
27084
|
+
else if (doStrokeOuter) {
|
|
27078
27085
|
const lastOpacity = rectAttribute.outerBorder.opacity;
|
|
27079
27086
|
rectAttribute.outerBorder.opacity = opacity;
|
|
27080
27087
|
context.setStrokeStyle(rect, outerBorder, x, y, rectAttribute.outerBorder);
|
|
@@ -27082,7 +27089,7 @@
|
|
|
27082
27089
|
context.stroke();
|
|
27083
27090
|
}
|
|
27084
27091
|
}
|
|
27085
|
-
if (innerBorder) {
|
|
27092
|
+
if (innerBorder && innerBorder.visible !== false) {
|
|
27086
27093
|
const { distance = rectAttribute.innerBorder.distance } = innerBorder;
|
|
27087
27094
|
const d = getScaledStroke(context, distance, context.dpr);
|
|
27088
27095
|
const nextX = x + d;
|
|
@@ -27100,7 +27107,7 @@
|
|
|
27100
27107
|
if (strokeCb) {
|
|
27101
27108
|
strokeCb(context, innerBorder, rectAttribute.innerBorder);
|
|
27102
27109
|
}
|
|
27103
|
-
else if (
|
|
27110
|
+
else if (doStrokeInner) {
|
|
27104
27111
|
const lastOpacity = rectAttribute.innerBorder.opacity;
|
|
27105
27112
|
rectAttribute.innerBorder.opacity = opacity;
|
|
27106
27113
|
context.setStrokeStyle(rect, innerBorder, x, y, rectAttribute.innerBorder);
|
|
@@ -27205,7 +27212,9 @@
|
|
|
27205
27212
|
if (!parsedPath) {
|
|
27206
27213
|
return;
|
|
27207
27214
|
}
|
|
27208
|
-
|
|
27215
|
+
const doStrokeOuter = !!(outerBorder && outerBorder.stroke);
|
|
27216
|
+
const doStrokeInner = !!(innerBorder && innerBorder.stroke);
|
|
27217
|
+
if (outerBorder && outerBorder.visible !== false) {
|
|
27209
27218
|
const { distance = symbolAttribute.outerBorder.distance } = outerBorder;
|
|
27210
27219
|
const d = getScaledStroke(context, distance, context.dpr);
|
|
27211
27220
|
context.beginPath();
|
|
@@ -27216,7 +27225,7 @@
|
|
|
27216
27225
|
if (strokeCb) {
|
|
27217
27226
|
strokeCb(context, outerBorder, symbolAttribute.outerBorder);
|
|
27218
27227
|
}
|
|
27219
|
-
else if (
|
|
27228
|
+
else if (doStrokeOuter) {
|
|
27220
27229
|
const lastOpacity = symbolAttribute.outerBorder.opacity;
|
|
27221
27230
|
symbolAttribute.outerBorder.opacity = opacity;
|
|
27222
27231
|
context.setStrokeStyle(symbol, outerBorder, x, y, symbolAttribute.outerBorder);
|
|
@@ -27224,7 +27233,7 @@
|
|
|
27224
27233
|
context.stroke();
|
|
27225
27234
|
}
|
|
27226
27235
|
}
|
|
27227
|
-
if (innerBorder) {
|
|
27236
|
+
if (innerBorder && innerBorder.visible !== false) {
|
|
27228
27237
|
const { distance = symbolAttribute.innerBorder.distance } = innerBorder;
|
|
27229
27238
|
const d = getScaledStroke(context, distance, context.dpr);
|
|
27230
27239
|
context.beginPath();
|
|
@@ -27235,7 +27244,7 @@
|
|
|
27235
27244
|
if (strokeCb) {
|
|
27236
27245
|
strokeCb(context, innerBorder, symbolAttribute.innerBorder);
|
|
27237
27246
|
}
|
|
27238
|
-
else if (
|
|
27247
|
+
else if (doStrokeInner) {
|
|
27239
27248
|
const lastOpacity = symbolAttribute.innerBorder.opacity;
|
|
27240
27249
|
symbolAttribute.innerBorder.opacity = opacity;
|
|
27241
27250
|
context.setStrokeStyle(symbol, innerBorder, x, y, symbolAttribute.innerBorder);
|
|
@@ -36926,7 +36935,7 @@
|
|
|
36926
36935
|
'rect'
|
|
36927
36936
|
];
|
|
36928
36937
|
|
|
36929
|
-
const version = "0.14.
|
|
36938
|
+
const version = "0.14.5-alpha.2";
|
|
36930
36939
|
|
|
36931
36940
|
exports.ACustomAnimate = ACustomAnimate;
|
|
36932
36941
|
exports.ARC3D_NUMBER_TYPE = ARC3D_NUMBER_TYPE;
|