@363045841yyt/klinechart-core 0.7.5 → 0.7.7
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/README.md +8 -8
- package/README.zh-CN.md +8 -8
- package/dist/config/chartSettings.d.ts +27 -2
- package/dist/config/chartSettings.d.ts.map +1 -1
- package/dist/config/chartSettings.js +6 -0
- package/dist/config/chartSettings.js.map +1 -1
- package/dist/controllers/createChartController.d.ts.map +1 -1
- package/dist/controllers/createChartController.js +145 -21
- package/dist/controllers/createChartController.js.map +1 -1
- package/dist/controllers/index.d.ts +9 -1
- package/dist/controllers/index.d.ts.map +1 -1
- package/dist/controllers/index.js +9 -0
- package/dist/controllers/index.js.map +1 -1
- package/dist/controllers/types.d.ts +65 -8
- package/dist/controllers/types.d.ts.map +1 -1
- package/dist/engine/chart.d.ts +2 -12
- package/dist/engine/chart.d.ts.map +1 -1
- package/dist/engine/chart.js +32 -31
- package/dist/engine/chart.js.map +1 -1
- package/dist/engine/controller/interaction.d.ts +1 -1
- package/dist/engine/controller/interaction.d.ts.map +1 -1
- package/dist/engine/controller/interaction.js +10 -2
- package/dist/engine/controller/interaction.js.map +1 -1
- package/dist/engine/draw/pixelAlign.d.ts.map +1 -1
- package/dist/engine/draw/pixelAlign.js.map +1 -1
- package/dist/engine/drawing/interaction.d.ts +3 -3
- package/dist/engine/drawing/interaction.d.ts.map +1 -1
- package/dist/engine/drawing/interaction.js +38 -46
- package/dist/engine/drawing/interaction.js.map +1 -1
- package/dist/engine/drawing/plugin.js +1 -1
- package/dist/engine/drawing/plugin.js.map +1 -1
- package/dist/engine/renderers/Indicator/atr.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/atr.js +7 -4
- package/dist/engine/renderers/Indicator/atr.js.map +1 -1
- package/dist/engine/renderers/Indicator/boll.js +12 -12
- package/dist/engine/renderers/Indicator/boll.js.map +1 -1
- package/dist/engine/renderers/Indicator/cci.d.ts +1 -2
- package/dist/engine/renderers/Indicator/cci.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/cci.js +9 -9
- package/dist/engine/renderers/Indicator/cci.js.map +1 -1
- package/dist/engine/renderers/Indicator/ene.js +12 -12
- package/dist/engine/renderers/Indicator/ene.js.map +1 -1
- package/dist/engine/renderers/Indicator/expma.js +6 -6
- package/dist/engine/renderers/Indicator/expma.js.map +1 -1
- package/dist/engine/renderers/Indicator/fastk.d.ts +1 -2
- package/dist/engine/renderers/Indicator/fastk.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/fastk.js +7 -7
- package/dist/engine/renderers/Indicator/fastk.js.map +1 -1
- package/dist/engine/renderers/Indicator/kst.d.ts +1 -2
- package/dist/engine/renderers/Indicator/kst.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/kst.js +10 -10
- package/dist/engine/renderers/Indicator/kst.js.map +1 -1
- package/dist/engine/renderers/Indicator/ma.js +5 -5
- package/dist/engine/renderers/Indicator/ma.js.map +1 -1
- package/dist/engine/renderers/Indicator/macd.d.ts +1 -2
- package/dist/engine/renderers/Indicator/macd.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/macd.js +24 -24
- package/dist/engine/renderers/Indicator/macd.js.map +1 -1
- package/dist/engine/renderers/Indicator/macdLegend.js +6 -6
- package/dist/engine/renderers/Indicator/macdLegend.js.map +1 -1
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js +16 -16
- package/dist/engine/renderers/Indicator/mainIndicatorLegend.js.map +1 -1
- package/dist/engine/renderers/Indicator/mom.d.ts +1 -2
- package/dist/engine/renderers/Indicator/mom.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/mom.js +8 -8
- package/dist/engine/renderers/Indicator/mom.js.map +1 -1
- package/dist/engine/renderers/Indicator/rsi.d.ts +2 -3
- package/dist/engine/renderers/Indicator/rsi.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/rsi.js +15 -15
- package/dist/engine/renderers/Indicator/rsi.js.map +1 -1
- package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts +1 -2
- package/dist/engine/renderers/Indicator/scale/indicator_scale.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/scale/indicator_scale.js +5 -5
- package/dist/engine/renderers/Indicator/scale/indicator_scale.js.map +1 -1
- package/dist/engine/renderers/Indicator/stoch.d.ts +1 -2
- package/dist/engine/renderers/Indicator/stoch.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/stoch.js +10 -10
- package/dist/engine/renderers/Indicator/stoch.js.map +1 -1
- package/dist/engine/renderers/Indicator/structure.js +5 -5
- package/dist/engine/renderers/Indicator/structure.js.map +1 -1
- package/dist/engine/renderers/Indicator/wmsr.d.ts +1 -2
- package/dist/engine/renderers/Indicator/wmsr.d.ts.map +1 -1
- package/dist/engine/renderers/Indicator/wmsr.js +10 -10
- package/dist/engine/renderers/Indicator/wmsr.js.map +1 -1
- package/dist/engine/renderers/Indicator/zones.js +6 -6
- package/dist/engine/renderers/Indicator/zones.js.map +1 -1
- package/dist/engine/renderers/candle.d.ts +1 -1
- package/dist/engine/renderers/candle.d.ts.map +1 -1
- package/dist/engine/renderers/candle.js +21 -21
- package/dist/engine/renderers/candle.js.map +1 -1
- package/dist/engine/renderers/crosshair.js +3 -3
- package/dist/engine/renderers/crosshair.js.map +1 -1
- package/dist/engine/renderers/extremaMarkers.d.ts.map +1 -1
- package/dist/engine/renderers/extremaMarkers.js +12 -12
- package/dist/engine/renderers/extremaMarkers.js.map +1 -1
- package/dist/engine/renderers/gridLines.js +3 -3
- package/dist/engine/renderers/gridLines.js.map +1 -1
- package/dist/engine/renderers/lastPrice.js +7 -7
- package/dist/engine/renderers/lastPrice.js.map +1 -1
- package/dist/engine/renderers/paneTitle.d.ts +5 -24
- package/dist/engine/renderers/paneTitle.d.ts.map +1 -1
- package/dist/engine/renderers/paneTitle.js +16 -11
- package/dist/engine/renderers/paneTitle.js.map +1 -1
- package/dist/engine/renderers/subVolume.d.ts.map +1 -1
- package/dist/engine/renderers/subVolume.js +23 -20
- package/dist/engine/renderers/subVolume.js.map +1 -1
- package/dist/engine/renderers/timeAxis.js +9 -9
- package/dist/engine/renderers/timeAxis.js.map +1 -1
- package/dist/engine/renderers/webgl/candleSurface.d.ts +4 -4
- package/dist/engine/renderers/webgl/candleSurface.d.ts.map +1 -1
- package/dist/engine/renderers/webgl/candleSurface.js +72 -60
- package/dist/engine/renderers/webgl/candleSurface.js.map +1 -1
- package/dist/engine/renderers/yAxis.d.ts.map +1 -1
- package/dist/engine/renderers/yAxis.js +5 -5
- package/dist/engine/renderers/yAxis.js.map +1 -1
- package/dist/engine/subPaneManager.d.ts +2 -0
- package/dist/engine/subPaneManager.d.ts.map +1 -1
- package/dist/engine/subPaneManager.js +25 -1
- package/dist/engine/subPaneManager.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin/types.d.ts +5 -1
- package/dist/plugin/types.d.ts.map +1 -1
- package/dist/plugin/types.js.map +1 -1
- package/dist/semantic/controller.d.ts +1 -2
- package/dist/semantic/controller.d.ts.map +1 -1
- package/dist/semantic/index.d.ts +1 -1
- package/dist/semantic/index.d.ts.map +1 -1
- package/dist/tokens/colorPresetSettings.d.ts +15 -0
- package/dist/tokens/colorPresetSettings.d.ts.map +1 -0
- package/dist/tokens/colorPresetSettings.js +65 -0
- package/dist/tokens/colorPresetSettings.js.map +1 -0
- package/dist/tokens/index.d.ts +17 -0
- package/dist/tokens/index.d.ts.map +1 -0
- package/dist/tokens/index.js +16 -0
- package/dist/tokens/index.js.map +1 -0
- package/dist/tokens/mergeTheme.d.ts +17 -0
- package/dist/tokens/mergeTheme.d.ts.map +1 -0
- package/dist/tokens/mergeTheme.js +43 -0
- package/dist/tokens/mergeTheme.js.map +1 -0
- package/dist/tokens/theme-china.d.ts +45 -0
- package/dist/tokens/theme-china.d.ts.map +1 -0
- package/dist/tokens/theme-china.js +116 -0
- package/dist/tokens/theme-china.js.map +1 -0
- package/dist/tokens/theme-dark.d.ts +21 -0
- package/dist/tokens/theme-dark.d.ts.map +1 -0
- package/dist/tokens/theme-dark.js +228 -0
- package/dist/tokens/theme-dark.js.map +1 -0
- package/dist/tokens/theme-light.d.ts +23 -0
- package/dist/tokens/theme-light.d.ts.map +1 -0
- package/dist/tokens/theme-light.js +234 -0
- package/dist/tokens/theme-light.js.map +1 -0
- package/dist/tokens/themeToCssVars.d.ts +74 -0
- package/dist/tokens/themeToCssVars.d.ts.map +1 -0
- package/dist/tokens/themeToCssVars.js +108 -0
- package/dist/tokens/themeToCssVars.js.map +1 -0
- package/dist/tokens/types.d.ts +335 -0
- package/dist/tokens/types.d.ts.map +1 -0
- package/dist/tokens/types.js +20 -0
- package/dist/tokens/types.js.map +1 -0
- package/dist/utils/kLineDraw/axis.d.ts +8 -7
- package/dist/utils/kLineDraw/axis.d.ts.map +1 -1
- package/dist/utils/kLineDraw/axis.js +24 -24
- package/dist/utils/kLineDraw/axis.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/package.json +6 -6
- package/src/config/chartSettings.ts +11 -2
- package/src/controllers/createChartController.ts +158 -29
- package/src/controllers/index.ts +33 -0
- package/src/controllers/types.ts +79 -8
- package/src/engine/chart.ts +32 -37
- package/src/engine/controller/interaction.ts +9 -2
- package/src/engine/draw/pixelAlign.ts +0 -2
- package/src/engine/drawing/interaction.ts +38 -47
- package/src/engine/drawing/plugin.ts +1 -1
- package/src/engine/renderers/Indicator/atr.ts +7 -3
- package/src/engine/renderers/Indicator/boll.ts +12 -12
- package/src/engine/renderers/Indicator/cci.ts +11 -10
- package/src/engine/renderers/Indicator/ene.ts +12 -12
- package/src/engine/renderers/Indicator/expma.ts +6 -6
- package/src/engine/renderers/Indicator/fastk.ts +9 -8
- package/src/engine/renderers/Indicator/kst.ts +12 -11
- package/src/engine/renderers/Indicator/ma.ts +5 -5
- package/src/engine/renderers/Indicator/macd.ts +27 -25
- package/src/engine/renderers/Indicator/macdLegend.ts +6 -6
- package/src/engine/renderers/Indicator/mainIndicatorLegend.ts +16 -16
- package/src/engine/renderers/Indicator/mom.ts +11 -10
- package/src/engine/renderers/Indicator/rsi.ts +18 -15
- package/src/engine/renderers/Indicator/scale/indicator_scale.ts +6 -6
- package/src/engine/renderers/Indicator/stoch.ts +12 -11
- package/src/engine/renderers/Indicator/structure.ts +5 -5
- package/src/engine/renderers/Indicator/wmsr.ts +13 -12
- package/src/engine/renderers/Indicator/zones.ts +7 -7
- package/src/engine/renderers/candle.ts +21 -21
- package/src/engine/renderers/crosshair.ts +3 -3
- package/src/engine/renderers/extremaMarkers.ts +13 -12
- package/src/engine/renderers/gridLines.ts +3 -3
- package/src/engine/renderers/lastPrice.ts +7 -7
- package/src/engine/renderers/paneTitle.ts +22 -31
- package/src/engine/renderers/subVolume.ts +23 -20
- package/src/engine/renderers/timeAxis.ts +9 -9
- package/src/engine/renderers/webgl/candleSurface.ts +80 -60
- package/src/engine/renderers/yAxis.ts +6 -5
- package/src/engine/subPaneManager.ts +28 -1
- package/src/index.ts +1 -0
- package/src/plugin/types.ts +5 -1
- package/src/semantic/controller.ts +1 -1
- package/src/semantic/index.ts +1 -1
- package/src/tokens/__tests__/__snapshots__/baseline.test.ts.snap +393 -0
- package/src/tokens/__tests__/baseline.test.ts +183 -0
- package/src/tokens/__tests__/themeToCssVars.test.ts +175 -0
- package/src/tokens/__tests__/tokens.test.ts +215 -0
- package/src/tokens/colorPresetSettings.ts +128 -0
- package/src/tokens/index.ts +65 -0
- package/src/tokens/mergeTheme.ts +48 -0
- package/src/tokens/theme-china.ts +132 -0
- package/src/tokens/theme-dark.ts +244 -0
- package/src/tokens/theme-light.ts +250 -0
- package/src/tokens/themeToCssVars.ts +138 -0
- package/src/tokens/types.ts +394 -0
- package/src/utils/kLineDraw/axis.ts +31 -30
- package/src/version.ts +1 -1
- package/dist/engine/chart-store.d.ts +0 -75
- package/dist/engine/chart-store.d.ts.map +0 -1
- package/dist/engine/chart-store.js +0 -88
- package/dist/engine/chart-store.js.map +0 -1
- package/dist/engine/theme/colors.d.ts +0 -223
- package/dist/engine/theme/colors.d.ts.map +0 -1
- package/dist/engine/theme/colors.js +0 -375
- package/dist/engine/theme/colors.js.map +0 -1
- package/src/engine/chart-store.ts +0 -121
- package/src/engine/theme/colors.ts +0 -642
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RENDERER_PRIORITY, GLOBAL_PANE_ID } from '../../plugin';
|
|
2
2
|
import { createHorizontalLineRect, createVerticalLineRect } from '../draw/pixelAlign';
|
|
3
3
|
import { findMonthBoundaries } from '../../utils/dateFormat';
|
|
4
|
-
import {
|
|
4
|
+
import { resolveThemeColors } from '../../tokens';
|
|
5
5
|
import { calculateTickPositions, calculateValueTickPositions } from '../utils/tickPosition';
|
|
6
6
|
/**
|
|
7
7
|
* 创建网格线渲染器插件
|
|
@@ -18,14 +18,14 @@ export function createGridLinesRendererPlugin() {
|
|
|
18
18
|
priority: RENDERER_PRIORITY.GRID,
|
|
19
19
|
draw(context) {
|
|
20
20
|
const { ctx, pane, data, range, scrollLeft, kWidth, dpr, kLinePositions, settings } = context;
|
|
21
|
-
const colors =
|
|
21
|
+
const colors = resolveThemeColors(context.theme, context.isAsiaMarket, context.colorPresetSettings);
|
|
22
22
|
const klineData = data;
|
|
23
23
|
if (!klineData.length)
|
|
24
24
|
return;
|
|
25
25
|
if (settings?.showGridLines === false)
|
|
26
26
|
return;
|
|
27
27
|
ctx.save();
|
|
28
|
-
ctx.fillStyle = colors.
|
|
28
|
+
ctx.fillStyle = colors.gridMajor;
|
|
29
29
|
ctx.translate(-scrollLeft, 0);
|
|
30
30
|
const plotWidth = ctx.canvas.width / dpr;
|
|
31
31
|
const startX = scrollLeft;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gridLines.js","sourceRoot":"","sources":["../../../src/engine/renderers/gridLines.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAEhE,OAAO,EAAE,wBAAwB,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAA;AACrF,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAC5D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"gridLines.js","sourceRoot":"","sources":["../../../src/engine/renderers/gridLines.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { RENDERER_PRIORITY } from '../../plugin';
|
|
2
|
-
import {
|
|
2
|
+
import { resolveThemeColors } from '../../tokens';
|
|
3
3
|
function getLastPriceInfo(context) {
|
|
4
4
|
const { pane, data } = context;
|
|
5
5
|
const klineData = data;
|
|
@@ -29,7 +29,7 @@ export function createLastPriceLabelRegistrarPlugin() {
|
|
|
29
29
|
layer: 'overlay',
|
|
30
30
|
priority: RENDERER_PRIORITY.LAST_PRICE_LABEL,
|
|
31
31
|
draw(context) {
|
|
32
|
-
const colors =
|
|
32
|
+
const colors = resolveThemeColors(context.theme, context.isAsiaMarket, context.colorPresetSettings);
|
|
33
33
|
const info = getLastPriceInfo(context);
|
|
34
34
|
if (!info)
|
|
35
35
|
return;
|
|
@@ -41,9 +41,9 @@ export function createLastPriceLabelRegistrarPlugin() {
|
|
|
41
41
|
y: info.y,
|
|
42
42
|
type: 'lastPrice',
|
|
43
43
|
style: {
|
|
44
|
-
bgColor: colors.
|
|
45
|
-
borderColor: colors.
|
|
46
|
-
textColor: colors.
|
|
44
|
+
bgColor: colors.lastPriceLabel.bg,
|
|
45
|
+
borderColor: colors.price.lastPrice,
|
|
46
|
+
textColor: colors.price.lastPrice,
|
|
47
47
|
}
|
|
48
48
|
});
|
|
49
49
|
},
|
|
@@ -62,7 +62,7 @@ export function createLastPriceLineRendererPlugin() {
|
|
|
62
62
|
priority: RENDERER_PRIORITY.LAST_PRICE_LABEL,
|
|
63
63
|
draw(context) {
|
|
64
64
|
const { ctx, scrollLeft, dpr, kLinePositions, paneWidth } = context;
|
|
65
|
-
const colors =
|
|
65
|
+
const colors = resolveThemeColors(context.theme, context.isAsiaMarket, context.colorPresetSettings);
|
|
66
66
|
const info = getLastPriceInfo(context);
|
|
67
67
|
if (!info)
|
|
68
68
|
return;
|
|
@@ -71,7 +71,7 @@ export function createLastPriceLineRendererPlugin() {
|
|
|
71
71
|
ctx.translate(-scrollLeft, 0);
|
|
72
72
|
const startX = kLinePositions[0] ?? 0;
|
|
73
73
|
const endX = paneWidth + scrollLeft;
|
|
74
|
-
ctx.strokeStyle = colors.
|
|
74
|
+
ctx.strokeStyle = colors.price.lastPrice;
|
|
75
75
|
ctx.lineWidth = 1;
|
|
76
76
|
ctx.setLineDash([4, 3]);
|
|
77
77
|
ctx.beginPath();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lastPrice.js","sourceRoot":"","sources":["../../../src/engine/renderers/lastPrice.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAEhD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"lastPrice.js","sourceRoot":"","sources":["../../../src/engine/renderers/lastPrice.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,41 +1,22 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
|
|
3
|
-
* 单个数值项
|
|
4
|
-
*/
|
|
1
|
+
import type { RendererPluginWithHost } from '../../plugin';
|
|
2
|
+
import type { SubIndicatorType } from './Indicator';
|
|
5
3
|
export interface TitleValueItem {
|
|
6
|
-
/** 标签(如 "DIF"、"DEA") */
|
|
7
4
|
label: string;
|
|
8
|
-
/** 数值 */
|
|
9
5
|
value: number;
|
|
10
|
-
/** 颜色 */
|
|
11
6
|
color: string;
|
|
12
7
|
}
|
|
13
|
-
/**
|
|
14
|
-
* 标题信息(由指标渲染器提供)
|
|
15
|
-
*/
|
|
16
8
|
export interface TitleInfo {
|
|
17
|
-
/** 指标名称(如 "MACD") */
|
|
18
9
|
name: string;
|
|
19
|
-
/** 参数列表(如 [12, 26, 9]) */
|
|
20
10
|
params?: number[];
|
|
21
|
-
/** 数值项列表 */
|
|
22
11
|
values?: TitleValueItem[];
|
|
23
12
|
}
|
|
24
13
|
export interface PaneTitleOptions {
|
|
25
|
-
/** 面板 ID */
|
|
26
14
|
paneId: string;
|
|
27
|
-
/** 标题文本(静态模式) */
|
|
28
15
|
title: string;
|
|
29
|
-
/** 副标题/描述 */
|
|
30
16
|
description?: string;
|
|
31
|
-
/** Y 偏移(逻辑像素) */
|
|
32
17
|
yOffset?: number;
|
|
33
|
-
|
|
34
|
-
|
|
18
|
+
indicatorId: SubIndicatorType;
|
|
19
|
+
params: Record<string, unknown>;
|
|
35
20
|
}
|
|
36
|
-
|
|
37
|
-
* 创建面板标题渲染器插件
|
|
38
|
-
* 在面板左上角显示标题,支持动态指标数值显示
|
|
39
|
-
*/
|
|
40
|
-
export declare function createPaneTitleRendererPlugin(options: PaneTitleOptions): RendererPlugin;
|
|
21
|
+
export declare function createPaneTitleRendererPlugin(options: PaneTitleOptions): RendererPluginWithHost;
|
|
41
22
|
//# sourceMappingURL=paneTitle.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paneTitle.d.ts","sourceRoot":"","sources":["../../../src/engine/renderers/paneTitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"paneTitle.d.ts","sourceRoot":"","sources":["../../../src/engine/renderers/paneTitle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAA6B,MAAM,cAAc,CAAA;AAKrF,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAoBnD,MAAM,WAAW,cAAc;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,SAAS;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,MAAM,CAAC,EAAE,cAAc,EAAE,CAAA;CAC5B;AAED,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,EAAE,gBAAgB,CAAA;IAC7B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAClC;AAED,wBAAgB,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,GAAG,sBAAsB,CAgF/F"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { RENDERER_PRIORITY } from '../../plugin';
|
|
2
|
-
import {
|
|
2
|
+
import { resolveThemeColors } from '../../tokens';
|
|
3
3
|
import { getFont, setCanvasFont } from '../theme/fonts';
|
|
4
|
+
import { SUB_PANE_INDICATOR_CONFIGS } from './Indicator/subPaneConfig';
|
|
4
5
|
const textWidthCache = new Map();
|
|
5
6
|
const TEXT_WIDTH_CACHE_LIMIT = 256;
|
|
6
7
|
function measureTextWidth(ctx, text) {
|
|
@@ -16,12 +17,9 @@ function measureTextWidth(ctx, text) {
|
|
|
16
17
|
textWidthCache.set(key, width);
|
|
17
18
|
return width;
|
|
18
19
|
}
|
|
19
|
-
/**
|
|
20
|
-
* 创建面板标题渲染器插件
|
|
21
|
-
* 在面板左上角显示标题,支持动态指标数值显示
|
|
22
|
-
*/
|
|
23
20
|
export function createPaneTitleRendererPlugin(options) {
|
|
24
21
|
let currentOptions = { ...options };
|
|
22
|
+
let pluginHost = null;
|
|
25
23
|
return {
|
|
26
24
|
name: `paneTitle_${options.paneId}`,
|
|
27
25
|
version: '1.0.0',
|
|
@@ -30,9 +28,12 @@ export function createPaneTitleRendererPlugin(options) {
|
|
|
30
28
|
paneId: options.paneId,
|
|
31
29
|
priority: RENDERER_PRIORITY.FOREGROUND,
|
|
32
30
|
layer: 'overlay',
|
|
31
|
+
onInstall(host) {
|
|
32
|
+
pluginHost = host;
|
|
33
|
+
},
|
|
33
34
|
draw(context) {
|
|
34
35
|
const { overlayCtx, pane, paneWidth } = context;
|
|
35
|
-
const colors =
|
|
36
|
+
const colors = resolveThemeColors(context.theme, context.isAsiaMarket, context.colorPresetSettings);
|
|
36
37
|
if (pane.id !== currentOptions.paneId || !overlayCtx)
|
|
37
38
|
return;
|
|
38
39
|
const fontSize = 12;
|
|
@@ -43,15 +44,19 @@ export function createPaneTitleRendererPlugin(options) {
|
|
|
43
44
|
setCanvasFont(overlayCtx, getFont(fontSize));
|
|
44
45
|
overlayCtx.textAlign = 'left';
|
|
45
46
|
overlayCtx.textBaseline = 'top';
|
|
46
|
-
const
|
|
47
|
+
const config = SUB_PANE_INDICATOR_CONFIGS[currentOptions.indicatorId];
|
|
48
|
+
const crosshairIndex = context.crosshairIndex ?? null;
|
|
49
|
+
const titleInfo = config && pluginHost
|
|
50
|
+
? config.getTitleInfo(context.data, crosshairIndex, currentOptions.params, pluginHost, currentOptions.paneId)
|
|
51
|
+
: null;
|
|
47
52
|
if (titleInfo) {
|
|
48
53
|
let currentX = x;
|
|
49
|
-
overlayCtx.fillStyle = colors.
|
|
54
|
+
overlayCtx.fillStyle = colors.text.primary;
|
|
50
55
|
overlayCtx.fillText(titleInfo.name, currentX, y);
|
|
51
56
|
currentX += measureTextWidth(overlayCtx, titleInfo.name);
|
|
52
57
|
if (titleInfo.params && titleInfo.params.length > 0) {
|
|
53
58
|
const paramText = `(${titleInfo.params.join(',')})`;
|
|
54
|
-
overlayCtx.fillStyle = colors.
|
|
59
|
+
overlayCtx.fillStyle = colors.text.tertiary;
|
|
55
60
|
overlayCtx.fillText(paramText, currentX, y);
|
|
56
61
|
currentX += measureTextWidth(overlayCtx, paramText) + gap;
|
|
57
62
|
}
|
|
@@ -68,11 +73,11 @@ export function createPaneTitleRendererPlugin(options) {
|
|
|
68
73
|
}
|
|
69
74
|
}
|
|
70
75
|
else {
|
|
71
|
-
overlayCtx.fillStyle = colors.
|
|
76
|
+
overlayCtx.fillStyle = colors.text.primary;
|
|
72
77
|
overlayCtx.fillText(currentOptions.title, x, y);
|
|
73
78
|
if (currentOptions.description) {
|
|
74
79
|
const titleWidth = measureTextWidth(overlayCtx, currentOptions.title);
|
|
75
|
-
overlayCtx.fillStyle = colors.
|
|
80
|
+
overlayCtx.fillStyle = colors.text.weak;
|
|
76
81
|
overlayCtx.fillText(` - ${currentOptions.description}`, x + titleWidth, y);
|
|
77
82
|
}
|
|
78
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paneTitle.js","sourceRoot":"","sources":["../../../src/engine/renderers/paneTitle.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"paneTitle.js","sourceRoot":"","sources":["../../../src/engine/renderers/paneTitle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subVolume.d.ts","sourceRoot":"","sources":["../../../src/engine/renderers/subVolume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAA6B,kBAAkB,EAAE,MAAM,cAAc,CAAA;AASzG,MAAM,WAAW,qBAAqB;IAClC,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IACzD,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAgBD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,qBAA0B,GAAG,sBAAsB,
|
|
1
|
+
{"version":3,"file":"subVolume.d.ts","sourceRoot":"","sources":["../../../src/engine/renderers/subVolume.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAA6B,kBAAkB,EAAE,MAAM,cAAc,CAAA;AASzG,MAAM,WAAW,qBAAqB;IAClC,2BAA2B;IAC3B,MAAM,CAAC,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,iBAAkB,SAAQ,kBAAkB;IACzD,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;CACnB;AAgBD;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,GAAE,qBAA0B,GAAG,sBAAsB,CAuHtG"}
|
|
@@ -34,7 +34,7 @@ var __runInitializers = (this && this.__runInitializers) || function (thisArg, i
|
|
|
34
34
|
};
|
|
35
35
|
import { RENDERER_PRIORITY } from '../../plugin';
|
|
36
36
|
import { createIndicatorStateKey } from '../../plugin/stateKeys';
|
|
37
|
-
import {
|
|
37
|
+
import { resolveThemeColors } from '../../tokens';
|
|
38
38
|
import { Indicator } from '../indicators/indicatorDefinitionRegistry';
|
|
39
39
|
import { resolveStateKey } from '../indicators/indicatorMetadata';
|
|
40
40
|
function getVolumeStateKey(host, paneId) {
|
|
@@ -75,7 +75,10 @@ export function createVolumeRendererPlugin(options = {}) {
|
|
|
75
75
|
},
|
|
76
76
|
draw(context) {
|
|
77
77
|
const { ctx, pane, data, range, dpr } = context;
|
|
78
|
-
const colors =
|
|
78
|
+
const colors = resolveThemeColors(context.theme, context.isAsiaMarket, context.colorPresetSettings);
|
|
79
|
+
const upVolume = colors.volumeUp;
|
|
80
|
+
const downVolume = colors.volumeDown;
|
|
81
|
+
const neutralVolume = colors.candleDojiBorder;
|
|
79
82
|
const klineData = data;
|
|
80
83
|
if (!klineData.length)
|
|
81
84
|
return;
|
|
@@ -135,14 +138,14 @@ export function createVolumeRendererPlugin(options = {}) {
|
|
|
135
138
|
const rawH = alignedBaseY - alignedY;
|
|
136
139
|
const finalH = rawH <= 0 ? minBarHPx : Math.max(rawH, minBarHPx);
|
|
137
140
|
const finalY = rawH <= 0 ? alignedBaseY - minBarHPx : alignedBaseY - finalH;
|
|
138
|
-
const color = judgeColor(item,
|
|
141
|
+
const color = judgeColor(item, upVolume, downVolume, neutralVolume);
|
|
139
142
|
let buf;
|
|
140
143
|
let idx;
|
|
141
|
-
if (color ===
|
|
144
|
+
if (color === upVolume) {
|
|
142
145
|
buf = upBuf;
|
|
143
146
|
idx = upCount++;
|
|
144
147
|
}
|
|
145
|
-
else if (color ===
|
|
148
|
+
else if (color === downVolume) {
|
|
146
149
|
buf = downBuf;
|
|
147
150
|
idx = downCount++;
|
|
148
151
|
}
|
|
@@ -156,9 +159,9 @@ export function createVolumeRendererPlugin(options = {}) {
|
|
|
156
159
|
buf[off + 2] = barRect.width;
|
|
157
160
|
buf[off + 3] = finalH;
|
|
158
161
|
}
|
|
159
|
-
const usedWebGL = drawVolumeWithWebGL(context, upBuf, upCount, downBuf, downCount, neutralBuf, neutralCount,
|
|
162
|
+
const usedWebGL = drawVolumeWithWebGL(context, upBuf, upCount, downBuf, downCount, neutralBuf, neutralCount, upVolume, downVolume, neutralVolume);
|
|
160
163
|
if (!usedWebGL) {
|
|
161
|
-
drawVolumeWithCanvas2D(ctx, context.scrollLeft, upBuf, upCount, downBuf, downCount, neutralBuf, neutralCount,
|
|
164
|
+
drawVolumeWithCanvas2D(ctx, context.scrollLeft, upBuf, upCount, downBuf, downCount, neutralBuf, neutralCount, upVolume, downVolume, neutralVolume);
|
|
162
165
|
}
|
|
163
166
|
else {
|
|
164
167
|
compositeVolumeWebGL(ctx, context);
|
|
@@ -166,32 +169,32 @@ export function createVolumeRendererPlugin(options = {}) {
|
|
|
166
169
|
},
|
|
167
170
|
};
|
|
168
171
|
}
|
|
169
|
-
function drawVolumeWithWebGL(context, upBuf, upCount, downBuf, downCount, neutralBuf, neutralCount,
|
|
172
|
+
function drawVolumeWithWebGL(context, upBuf, upCount, downBuf, downCount, neutralBuf, neutralCount, upColor, downColor, neutralColor) {
|
|
170
173
|
if (context.settings?.enableWebGLRendering === false)
|
|
171
174
|
return false;
|
|
172
175
|
const surface = context.candleWebGLSurface;
|
|
173
176
|
if (!surface || !surface.isAvailable())
|
|
174
177
|
return false;
|
|
175
178
|
surface.clear();
|
|
176
|
-
const ok1 = upCount === 0 || surface.drawRectBuffer(upBuf.subarray(0, upCount * 4), upCount,
|
|
177
|
-
const ok2 = downCount === 0 || surface.drawRectBuffer(downBuf.subarray(0, downCount * 4), downCount,
|
|
178
|
-
const ok3 = neutralCount === 0 || surface.drawRectBuffer(neutralBuf.subarray(0, neutralCount * 4), neutralCount,
|
|
179
|
+
const ok1 = upCount === 0 || surface.drawRectBuffer(upBuf.subarray(0, upCount * 4), upCount, upColor, context.scrollLeft);
|
|
180
|
+
const ok2 = downCount === 0 || surface.drawRectBuffer(downBuf.subarray(0, downCount * 4), downCount, downColor, context.scrollLeft);
|
|
181
|
+
const ok3 = neutralCount === 0 || surface.drawRectBuffer(neutralBuf.subarray(0, neutralCount * 4), neutralCount, neutralColor, context.scrollLeft);
|
|
179
182
|
return ok1 && ok2 && ok3;
|
|
180
183
|
}
|
|
181
|
-
function drawVolumeWithCanvas2D(ctx, scrollLeft, upBuf, upCount, downBuf, downCount, neutralBuf, neutralCount,
|
|
184
|
+
function drawVolumeWithCanvas2D(ctx, scrollLeft, upBuf, upCount, downBuf, downCount, neutralBuf, neutralCount, upColor, downColor, neutralColor) {
|
|
182
185
|
ctx.save();
|
|
183
186
|
ctx.translate(-scrollLeft, 0);
|
|
184
|
-
ctx.fillStyle =
|
|
187
|
+
ctx.fillStyle = upColor;
|
|
185
188
|
for (let i = 0; i < upCount; i++) {
|
|
186
189
|
const off = i * 4;
|
|
187
190
|
ctx.fillRect(upBuf[off], upBuf[off + 1], upBuf[off + 2], upBuf[off + 3]);
|
|
188
191
|
}
|
|
189
|
-
ctx.fillStyle =
|
|
192
|
+
ctx.fillStyle = downColor;
|
|
190
193
|
for (let i = 0; i < downCount; i++) {
|
|
191
194
|
const off = i * 4;
|
|
192
195
|
ctx.fillRect(downBuf[off], downBuf[off + 1], downBuf[off + 2], downBuf[off + 3]);
|
|
193
196
|
}
|
|
194
|
-
ctx.fillStyle =
|
|
197
|
+
ctx.fillStyle = neutralColor;
|
|
195
198
|
for (let i = 0; i < neutralCount; i++) {
|
|
196
199
|
const off = i * 4;
|
|
197
200
|
ctx.fillRect(neutralBuf[off], neutralBuf[off + 1], neutralBuf[off + 2], neutralBuf[off + 3]);
|
|
@@ -205,17 +208,17 @@ function compositeVolumeWebGL(ctx, context) {
|
|
|
205
208
|
surface.compositeTo(ctx);
|
|
206
209
|
}
|
|
207
210
|
/**
|
|
208
|
-
*
|
|
211
|
+
* 判断成交量柱子颜色
|
|
209
212
|
*/
|
|
210
|
-
function judgeColor(dayData,
|
|
213
|
+
function judgeColor(dayData, upColor, downColor, neutralColor) {
|
|
211
214
|
if (dayData.close > dayData.open) {
|
|
212
|
-
return
|
|
215
|
+
return upColor;
|
|
213
216
|
}
|
|
214
217
|
else if (dayData.close < dayData.open) {
|
|
215
|
-
return
|
|
218
|
+
return downColor;
|
|
216
219
|
}
|
|
217
220
|
else {
|
|
218
|
-
return
|
|
221
|
+
return neutralColor;
|
|
219
222
|
}
|
|
220
223
|
}
|
|
221
224
|
let VolumeIndicatorDefinition = (() => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subVolume.js","sourceRoot":"","sources":["../../../src/engine/renderers/subVolume.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAChD,OAAO,EAAE,uBAAuB,EAAE,MAAM,wBAAwB,CAAA;AAEhE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"subVolume.js","sourceRoot":"","sources":["../../../src/engine/renderers/subVolume.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { resolveThemeColors } from '../../tokens';
|
|
2
2
|
import { RENDERER_PRIORITY } from '../../plugin';
|
|
3
3
|
import { drawTimeAxis, drawCrosshairTimeLabel, drawAxisTimeLabel } from '../../utils/kLineDraw/axis';
|
|
4
4
|
/** 时间轴面板 ID(特殊标识,用于单独渲染) */
|
|
@@ -18,7 +18,7 @@ export function createTimeAxisRendererPlugin(options) {
|
|
|
18
18
|
isSystem: true, // 系统渲染器,只能通过 renderPlugin 单独渲染
|
|
19
19
|
draw(context) {
|
|
20
20
|
const { ctx, data, range, scrollLeft, kWidth, kGap, dpr, paneWidth } = context;
|
|
21
|
-
const colors =
|
|
21
|
+
const colors = resolveThemeColors(context.theme, context.isAsiaMarket, context.colorPresetSettings);
|
|
22
22
|
const klineData = data;
|
|
23
23
|
// 时间轴绘制到传入的 ctx
|
|
24
24
|
const targetCtx = ctx;
|
|
@@ -40,11 +40,11 @@ export function createTimeAxisRendererPlugin(options) {
|
|
|
40
40
|
startIndex: range.start,
|
|
41
41
|
endIndex: range.end,
|
|
42
42
|
dpr,
|
|
43
|
-
textColor: colors.
|
|
44
|
-
lineColor: colors.
|
|
43
|
+
textColor: colors.text.secondary,
|
|
44
|
+
lineColor: colors.border.dark,
|
|
45
45
|
drawTopBorder: false,
|
|
46
46
|
drawBottomBorder: false,
|
|
47
|
-
});
|
|
47
|
+
}, context.theme, context.isAsiaMarket, context.colorPresetSettings);
|
|
48
48
|
// 绘制来自 xAxisRanges 的时间范围带(先于标签绘制)
|
|
49
49
|
if (context.xAxisRanges) {
|
|
50
50
|
for (const range of context.xAxisRanges) {
|
|
@@ -74,9 +74,9 @@ export function createTimeAxisRendererPlugin(options) {
|
|
|
74
74
|
timestamp: k.timestamp,
|
|
75
75
|
dpr,
|
|
76
76
|
fontSize: 12,
|
|
77
|
-
bgColor: colors.
|
|
78
|
-
textColor: colors.
|
|
79
|
-
});
|
|
77
|
+
bgColor: colors.crosshairLabelBg,
|
|
78
|
+
textColor: colors.crosshairLabelText,
|
|
79
|
+
}, context.theme, context.isAsiaMarket, context.colorPresetSettings);
|
|
80
80
|
}
|
|
81
81
|
}
|
|
82
82
|
// 绘制来自 xAxisLabels 的标签(极值点、绘图锚点等)
|
|
@@ -97,7 +97,7 @@ export function createTimeAxisRendererPlugin(options) {
|
|
|
97
97
|
fontSize: 12,
|
|
98
98
|
bgColor: label.style?.bgColor,
|
|
99
99
|
textColor: label.style?.textColor,
|
|
100
|
-
});
|
|
100
|
+
}, context.theme, context.isAsiaMarket, context.colorPresetSettings);
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"timeAxis.js","sourceRoot":"","sources":["../../../src/engine/renderers/timeAxis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"timeAxis.js","sourceRoot":"","sources":["../../../src/engine/renderers/timeAxis.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,13 +68,13 @@ export declare class LineWebGLSurface {
|
|
|
68
68
|
clear(): void;
|
|
69
69
|
compositeTo(ctx: CanvasRenderingContext2D, options?: WebGLCompositeOptions): void;
|
|
70
70
|
drawLineStrips(lines: ColoredLineStrip[], scrollLeft: number): boolean;
|
|
71
|
-
private getThinLineVertices;
|
|
72
71
|
private getLineGeometry;
|
|
73
72
|
drawFilledBand(band: FilledBand, color: string, scrollLeft: number): boolean;
|
|
74
73
|
destroy(): void;
|
|
75
|
-
private
|
|
76
|
-
private
|
|
77
|
-
private
|
|
74
|
+
private beginMsaaRender;
|
|
75
|
+
private ensureMsaaTargets;
|
|
76
|
+
private destroyMsaaTargets;
|
|
77
|
+
private resolveMsaaToSharedRegion;
|
|
78
78
|
private initLineHandles;
|
|
79
79
|
}
|
|
80
80
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"candleSurface.d.ts","sourceRoot":"","sources":["../../../../src/engine/renderers/webgl/candleSurface.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAuB,KAAK,qBAAqB,EAAE,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAE5H,KAAK,IAAI,GAAG;IACR,CAAC,EAAE,MAAM,CAAA;IACT,CAAC,EAAE,MAAM,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,KAAK,SAAS,GAAG;IACb,MAAM,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IACvC,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,gBAAgB,GAAG,SAAS,GAAG;IAChC,KAAK,EAAE,MAAM,CAAA;CAChB,CAAA;AAED,KAAK,UAAU,GAAG;IACd,WAAW,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC5C,WAAW,EAAE,KAAK,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAC/C,CAAA;
|
|
1
|
+
{"version":3,"file":"candleSurface.d.ts","sourceRoot":"","sources":["../../../../src/engine/renderers/webgl/candleSurface.ts"],"names":[],"mappings":"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"}
|