@363045841yyt/klinechart 0.7.0 → 0.7.3-alpha.0
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 +10 -6
- package/dist/components/DrawingStyleToolbar.vue.d.ts +28 -0
- package/dist/components/DrawingStyleToolbar.vue.d.ts.map +1 -0
- package/dist/{src/components → components}/IndicatorParams.vue.d.ts +3 -3
- package/dist/components/IndicatorParams.vue.d.ts.map +1 -0
- package/dist/{src/components → components}/IndicatorSelector.vue.d.ts +4 -4
- package/dist/components/IndicatorSelector.vue.d.ts.map +1 -0
- package/dist/components/KLineChart.vue.d.ts +63 -0
- package/dist/components/KLineChart.vue.d.ts.map +1 -0
- package/dist/components/KLineTooltip.vue.d.ts +30 -0
- package/dist/components/KLineTooltip.vue.d.ts.map +1 -0
- package/dist/{src/components → components}/LeftToolbar.vue.d.ts +3 -2
- package/dist/components/LeftToolbar.vue.d.ts.map +1 -0
- package/dist/components/MarkerTooltip.vue.d.ts +26 -0
- package/dist/components/MarkerTooltip.vue.d.ts.map +1 -0
- package/dist/components/index.d.ts +8 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/{src/composables → composables}/useFullscreenTeleportTarget.d.ts +1 -0
- package/dist/composables/useFullscreenTeleportTarget.d.ts.map +1 -0
- package/dist/{src/debug → debug}/canvasProfiler.d.ts +1 -0
- package/dist/debug/canvasProfiler.d.ts.map +1 -0
- package/dist/index.cjs +2 -49
- package/dist/index.d.cts +124 -0
- package/dist/index.d.ts +124 -2
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +1470 -16916
- package/dist/klinechart.css +1 -1
- package/dist/version.d.ts +3 -0
- package/dist/version.d.ts.map +1 -0
- package/package.json +52 -81
- package/src/__tests__/_mockController.ts +192 -0
- package/src/__tests__/contract.test.ts +132 -0
- package/src/components/DrawingStyleToolbar.vue +199 -0
- package/src/components/IndicatorParams.vue +570 -0
- package/src/components/IndicatorSelector.vue +1042 -0
- package/src/components/KLineChart.vue +1570 -0
- package/src/components/KLineTooltip.vue +200 -0
- package/src/components/LeftToolbar.vue +844 -0
- package/src/components/MarkerTooltip.vue +155 -0
- package/src/components/index.ts +7 -0
- package/src/composables/useFullscreenTeleportTarget.ts +18 -0
- package/src/debug/canvasProfiler.ts +296 -0
- package/src/index.ts +402 -0
- package/src/version.ts +3 -0
- package/LICENSE +0 -21
- package/dist/favicon.ico +0 -0
- package/dist/mock-stock-data.json +0 -1
- package/dist/schema-CzmPW09E.cjs +0 -1
- package/dist/schema-DBMGp6Af.js +0 -437
- package/dist/src/App.vue.d.ts +0 -4
- package/dist/src/api/data/baostock.d.ts +0 -90
- package/dist/src/api/data/baostock.integration.test.d.ts +0 -1
- package/dist/src/api/data/index.d.ts +0 -26
- package/dist/src/api/data/kLine.d.ts +0 -11
- package/dist/src/api/data/types.d.ts +0 -33
- package/dist/src/api/data/unified.d.ts +0 -37
- package/dist/src/components/DrawingStyleToolbar.vue.d.ts +0 -12
- package/dist/src/components/KLineChart.vue.d.ts +0 -100
- package/dist/src/components/KLineTooltip.vue.d.ts +0 -17
- package/dist/src/components/MarkerTooltip.vue.d.ts +0 -13
- package/dist/src/components/index.d.ts +0 -2
- package/dist/src/config/chartSettings.d.ts +0 -69
- package/dist/src/core/chart-store.d.ts +0 -74
- package/dist/src/core/chart.d.ts +0 -420
- package/dist/src/core/controller/interaction.d.ts +0 -167
- package/dist/src/core/controller/markerInteraction.d.ts +0 -28
- package/dist/src/core/controller/pinchTracker.d.ts +0 -18
- package/dist/src/core/controller/tooltipPosition.d.ts +0 -21
- package/dist/src/core/draw/pixelAlign.d.ts +0 -114
- package/dist/src/core/drawing/index.d.ts +0 -47
- package/dist/src/core/drawing/interaction.d.ts +0 -75
- package/dist/src/core/drawing/plugin.d.ts +0 -27
- package/dist/src/core/indicators/atrState.d.ts +0 -16
- package/dist/src/core/indicators/bollState.d.ts +0 -34
- package/dist/src/core/indicators/calculators.d.ts +0 -465
- package/dist/src/core/indicators/cciState.d.ts +0 -15
- package/dist/src/core/indicators/chaikinVolState.d.ts +0 -18
- package/dist/src/core/indicators/cmfState.d.ts +0 -16
- package/dist/src/core/indicators/demaState.d.ts +0 -16
- package/dist/src/core/indicators/donchianState.d.ts +0 -23
- package/dist/src/core/indicators/eneState.d.ts +0 -30
- package/dist/src/core/indicators/expmaState.d.ts +0 -30
- package/dist/src/core/indicators/fastkState.d.ts +0 -15
- package/dist/src/core/indicators/fibState.d.ts +0 -26
- package/dist/src/core/indicators/hmaState.d.ts +0 -16
- package/dist/src/core/indicators/hvState.d.ts +0 -18
- package/dist/src/core/indicators/ichimokuState.d.ts +0 -44
- package/dist/src/core/indicators/indicator.worker.d.ts +0 -5
- package/dist/src/core/indicators/indicatorRuntime.d.ts +0 -126
- package/dist/src/core/indicators/kamaState.d.ts +0 -20
- package/dist/src/core/indicators/keltnerState.d.ts +0 -27
- package/dist/src/core/indicators/kstState.d.ts +0 -21
- package/dist/src/core/indicators/maState.d.ts +0 -26
- package/dist/src/core/indicators/macdState.d.ts +0 -58
- package/dist/src/core/indicators/mfiState.d.ts +0 -16
- package/dist/src/core/indicators/momState.d.ts +0 -15
- package/dist/src/core/indicators/obvState.d.ts +0 -14
- package/dist/src/core/indicators/parkinsonState.d.ts +0 -18
- package/dist/src/core/indicators/pivotState.d.ts +0 -29
- package/dist/src/core/indicators/pvtState.d.ts +0 -14
- package/dist/src/core/indicators/rocState.d.ts +0 -16
- package/dist/src/core/indicators/rsiState.d.ts +0 -39
- package/dist/src/core/indicators/sarState.d.ts +0 -26
- package/dist/src/core/indicators/scheduler.d.ts +0 -237
- package/dist/src/core/indicators/soa.d.ts +0 -115
- package/dist/src/core/indicators/stateComposer.d.ts +0 -146
- package/dist/src/core/indicators/stochState.d.ts +0 -18
- package/dist/src/core/indicators/structureState.d.ts +0 -43
- package/dist/src/core/indicators/supertrendState.d.ts +0 -22
- package/dist/src/core/indicators/temaState.d.ts +0 -16
- package/dist/src/core/indicators/trixState.d.ts +0 -20
- package/dist/src/core/indicators/vmaState.d.ts +0 -16
- package/dist/src/core/indicators/volumeProfileState.d.ts +0 -34
- package/dist/src/core/indicators/vwapState.d.ts +0 -16
- package/dist/src/core/indicators/wmaState.d.ts +0 -16
- package/dist/src/core/indicators/wmsrState.d.ts +0 -15
- package/dist/src/core/indicators/workerProtocol.d.ts +0 -496
- package/dist/src/core/indicators/zonesState.d.ts +0 -26
- package/dist/src/core/layout/pane.d.ts +0 -103
- package/dist/src/core/marker/registry.d.ts +0 -174
- package/dist/src/core/paneRenderer.d.ts +0 -45
- package/dist/src/core/renderers/Indicator/atr.d.ts +0 -17
- package/dist/src/core/renderers/Indicator/boll.d.ts +0 -2
- package/dist/src/core/renderers/Indicator/cci.d.ts +0 -21
- package/dist/src/core/renderers/Indicator/chaikinVol.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/cmf.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/dema.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/donchian.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/ene.d.ts +0 -10
- package/dist/src/core/renderers/Indicator/expma.d.ts +0 -2
- package/dist/src/core/renderers/Indicator/fastk.d.ts +0 -21
- package/dist/src/core/renderers/Indicator/fib.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/hma.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/hv.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/ichimoku.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/index.d.ts +0 -59
- package/dist/src/core/renderers/Indicator/indicatorData.d.ts +0 -13
- package/dist/src/core/renderers/Indicator/kama.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/keltner.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/kst.d.ts +0 -21
- package/dist/src/core/renderers/Indicator/ma.d.ts +0 -3
- package/dist/src/core/renderers/Indicator/macd.d.ts +0 -49
- package/dist/src/core/renderers/Indicator/macdLegend.d.ts +0 -12
- package/dist/src/core/renderers/Indicator/mainIndicatorLegend.d.ts +0 -10
- package/dist/src/core/renderers/Indicator/mfi.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/mom.d.ts +0 -21
- package/dist/src/core/renderers/Indicator/obv.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/parkinson.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/pivot.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/pvt.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/roc.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/rsi.d.ts +0 -32
- package/dist/src/core/renderers/Indicator/sar.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/scale/atr_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/cci_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/fastk_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/indicator_scale.d.ts +0 -35
- package/dist/src/core/renderers/Indicator/scale/kst_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/macd_scale.d.ts +0 -14
- package/dist/src/core/renderers/Indicator/scale/mom_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/rsi_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/stoch_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/scale/volume_scale.d.ts +0 -14
- package/dist/src/core/renderers/Indicator/scale/wmsr_scale.d.ts +0 -11
- package/dist/src/core/renderers/Indicator/stoch.d.ts +0 -21
- package/dist/src/core/renderers/Indicator/structure.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/subPaneConfig.d.ts +0 -9
- package/dist/src/core/renderers/Indicator/supertrend.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/tema.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/trix.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/vma.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/volumeProfile.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/vwap.d.ts +0 -4
- package/dist/src/core/renderers/Indicator/wma.d.ts +0 -5
- package/dist/src/core/renderers/Indicator/wmsr.d.ts +0 -21
- package/dist/src/core/renderers/Indicator/zones.d.ts +0 -4
- package/dist/src/core/renderers/candle.d.ts +0 -20
- package/dist/src/core/renderers/crosshair.d.ts +0 -17
- package/dist/src/core/renderers/customMarkers.d.ts +0 -6
- package/dist/src/core/renderers/extremaMarkers.d.ts +0 -5
- package/dist/src/core/renderers/gridLines.d.ts +0 -7
- package/dist/src/core/renderers/lastPrice.d.ts +0 -9
- package/dist/src/core/renderers/paneTitle.d.ts +0 -40
- package/dist/src/core/renderers/subVolume.d.ts +0 -13
- package/dist/src/core/renderers/timeAxis.d.ts +0 -14
- package/dist/src/core/renderers/webgl/candleSurface.d.ts +0 -80
- package/dist/src/core/renderers/webgl/sharedWebGLSurface.d.ts +0 -33
- package/dist/src/core/renderers/yAxis.d.ts +0 -14
- package/dist/src/core/scale/logFormula.d.ts +0 -66
- package/dist/src/core/scale/price.d.ts +0 -11
- package/dist/src/core/scale/priceScale.d.ts +0 -87
- package/dist/src/core/subPaneManager.d.ts +0 -22
- package/dist/src/core/theme/colors.d.ts +0 -243
- package/dist/src/core/theme/fonts.d.ts +0 -12
- package/dist/src/core/utils/klineConfig.d.ts +0 -28
- package/dist/src/core/utils/tickCount.d.ts +0 -8
- package/dist/src/core/utils/tickPosition.d.ts +0 -24
- package/dist/src/core/utils/zoom.d.ts +0 -30
- package/dist/src/core/viewport/viewport.d.ts +0 -31
- package/dist/src/index.d.ts +0 -8
- package/dist/src/main.d.ts +0 -0
- package/dist/src/plugin/ConfigManager.d.ts +0 -31
- package/dist/src/plugin/EventBus.d.ts +0 -34
- package/dist/src/plugin/HookSystem.d.ts +0 -28
- package/dist/src/plugin/PluginHost.d.ts +0 -54
- package/dist/src/plugin/PluginRegistry.d.ts +0 -40
- package/dist/src/plugin/StateStore.d.ts +0 -37
- package/dist/src/plugin/index.d.ts +0 -11
- package/dist/src/plugin/rendererPluginManager.d.ts +0 -77
- package/dist/src/plugin/stateKeys.d.ts +0 -6
- package/dist/src/plugin/types.d.ts +0 -439
- package/dist/src/semantic/controller.d.ts +0 -35
- package/dist/src/semantic/drawShape.d.ts +0 -14
- package/dist/src/semantic/index.d.ts +0 -8
- package/dist/src/semantic/types.d.ts +0 -298
- package/dist/src/semantic/validator.d.ts +0 -43
- package/dist/src/test-setup.d.ts +0 -6
- package/dist/src/types/kLine.d.ts +0 -3
- package/dist/src/types/price.d.ts +0 -31
- package/dist/src/types/volumePrice.d.ts +0 -26
- package/dist/src/utils/cache.d.ts +0 -33
- package/dist/src/utils/dateFormat.d.ts +0 -83
- package/dist/src/utils/http.d.ts +0 -14
- package/dist/src/utils/kLineDraw/MA.d.ts +0 -12
- package/dist/src/utils/kLineDraw/axis.d.ts +0 -150
- package/dist/src/utils/kLineDraw/grid.d.ts +0 -30
- package/dist/src/utils/kLineDraw/kLine.d.ts +0 -15
- package/dist/src/utils/kline/format.d.ts +0 -14
- package/dist/src/utils/kline/viewport.d.ts +0 -10
- package/dist/src/utils/logger.d.ts +0 -5
- package/dist/src/utils/mock/genRandomPriceData.d.ts +0 -3
- package/dist/src/utils/priceToY.d.ts +0 -7
- package/dist/src/utils/volumePrice.d.ts +0 -54
|
@@ -1,114 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* 像素对齐工具函数 - 逻辑像素空间(配合 ctx.scale(dpr) 使用)
|
|
3
|
-
*/
|
|
4
|
-
/**
|
|
5
|
-
* 将逻辑坐标对齐到物理像素边界(用于矩形填充)
|
|
6
|
-
* @param value - 逻辑坐标值
|
|
7
|
-
* @param dpr - 设备像素比
|
|
8
|
-
* @returns 对齐后的逻辑坐标
|
|
9
|
-
*/
|
|
10
|
-
export declare function roundToPhysicalPixel(value: number, dpr: number): number;
|
|
11
|
-
/**
|
|
12
|
-
* 将逻辑坐标对齐到物理像素中心(用于 1px 线条)
|
|
13
|
-
* @param value - 逻辑坐标值
|
|
14
|
-
* @param dpr - 设备像素比
|
|
15
|
-
* @returns 对齐后的逻辑坐标
|
|
16
|
-
*/
|
|
17
|
-
export declare function alignToPhysicalPixelCenter(value: number, dpr: number): number;
|
|
18
|
-
/**
|
|
19
|
-
* 对齐矩形到物理像素边界
|
|
20
|
-
* @param x - 矩形左边界 X 坐标
|
|
21
|
-
* @param y - 矩形顶部 Y 坐标
|
|
22
|
-
* @param width - 矩形宽度
|
|
23
|
-
* @param height - 矩形高度
|
|
24
|
-
* @param dpr - 设备像素比
|
|
25
|
-
* @returns 对齐后的矩形信息
|
|
26
|
-
*/
|
|
27
|
-
export declare function alignRect(x: number, y: number, width: number, height: number, dpr: number): {
|
|
28
|
-
x: number;
|
|
29
|
-
y: number;
|
|
30
|
-
width: number;
|
|
31
|
-
height: number;
|
|
32
|
-
};
|
|
33
|
-
/**
|
|
34
|
-
* 创建用于绘制垂直线的矩形(1 物理像素宽)
|
|
35
|
-
* @param centerX - 垂直线中心 X 坐标
|
|
36
|
-
* @param y1 - 垂直线起始点 Y 坐标
|
|
37
|
-
* @param y2 - 垂直线结束点 Y 坐标
|
|
38
|
-
* @param dpr - 设备像素比
|
|
39
|
-
* @returns 对齐到物理像素的矩形信息,如果 y1 和 y2 相等则返回 null
|
|
40
|
-
*/
|
|
41
|
-
export declare function createVerticalLineRect(centerX: number, y1: number, y2: number, dpr: number): {
|
|
42
|
-
x: number;
|
|
43
|
-
y: number;
|
|
44
|
-
width: number;
|
|
45
|
-
height: number;
|
|
46
|
-
} | null;
|
|
47
|
-
/**
|
|
48
|
-
* 创建用于绘制水平线的矩形(1 物理像素高)
|
|
49
|
-
* @param x1 - 水平线起始点的 X 坐标
|
|
50
|
-
* @param x2 - 水平线结束点的 X 坐标
|
|
51
|
-
* @param centerY - 水平线中心 Y 坐标
|
|
52
|
-
* @param dpr - 设备像素比
|
|
53
|
-
* @returns 对齐到物理像素的矩形信息,如果 x1 和 x2 相等则返回 null
|
|
54
|
-
*/
|
|
55
|
-
export declare function createHorizontalLineRect(x1: number, x2: number, centerY: number, dpr: number): {
|
|
56
|
-
x: number;
|
|
57
|
-
y: number;
|
|
58
|
-
width: number;
|
|
59
|
-
height: number;
|
|
60
|
-
} | null;
|
|
61
|
-
/**
|
|
62
|
-
* 创建对齐的K线实体和影线
|
|
63
|
-
* @param rectX - 实体左边界 X 坐标(逻辑像素)
|
|
64
|
-
* @param rectY - 实体顶部 Y 坐标(逻辑像素)
|
|
65
|
-
* @param kWidth - 实体宽度(逻辑像素)
|
|
66
|
-
* @param height - 实体高度(逻辑像素)
|
|
67
|
-
* @param dpr - 设备像素比
|
|
68
|
-
* @returns 对齐后的实体和影线信息
|
|
69
|
-
*/
|
|
70
|
-
export declare function createAlignedKLine(rectX: number, rectY: number, kWidth: number, height: number, dpr: number): {
|
|
71
|
-
bodyRect: {
|
|
72
|
-
x: number;
|
|
73
|
-
y: number;
|
|
74
|
-
width: number;
|
|
75
|
-
height: number;
|
|
76
|
-
};
|
|
77
|
-
physBodyLeft: number;
|
|
78
|
-
physBodyRight: number;
|
|
79
|
-
physBodyWidth: number;
|
|
80
|
-
physBodyCenter: number;
|
|
81
|
-
physWickX: number;
|
|
82
|
-
wickRect: {
|
|
83
|
-
x: number;
|
|
84
|
-
width: number;
|
|
85
|
-
};
|
|
86
|
-
isPerfectlyAligned: boolean;
|
|
87
|
-
};
|
|
88
|
-
/**
|
|
89
|
-
* 创建对齐的K线实体和影线(物理像素直接版)
|
|
90
|
-
* @param leftPx - 实体左边界物理像素坐标(整数)
|
|
91
|
-
* @param rectY - 实体顶部 Y 坐标(逻辑像素)
|
|
92
|
-
* @param widthPx - 实体宽度物理像素(奇数)
|
|
93
|
-
* @param height - 实体高度(逻辑像素)
|
|
94
|
-
* @param dpr - 设备像素比
|
|
95
|
-
* @returns 对齐后的实体和影线信息
|
|
96
|
-
*/
|
|
97
|
-
export declare function createAlignedKLineFromPx(leftPx: number, rectY: number, widthPx: number, height: number, dpr: number): {
|
|
98
|
-
bodyRect: {
|
|
99
|
-
x: number;
|
|
100
|
-
y: number;
|
|
101
|
-
width: number;
|
|
102
|
-
height: number;
|
|
103
|
-
};
|
|
104
|
-
physBodyLeft: number;
|
|
105
|
-
physBodyRight: number;
|
|
106
|
-
physBodyWidth: number;
|
|
107
|
-
physBodyCenter: number;
|
|
108
|
-
physWickX: number;
|
|
109
|
-
wickRect: {
|
|
110
|
-
x: number;
|
|
111
|
-
width: number;
|
|
112
|
-
};
|
|
113
|
-
isPerfectlyAligned: boolean;
|
|
114
|
-
};
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { DrawingObject, DrawingKind, DrawingDefinition, DrawingComputeContext, DrawingGeometry, DrawingStyle, PointPrimitive, LinePrimitive, AreaPrimitive, TextPrimitive } from '../../plugin';
|
|
2
|
-
export type { DrawingObject, DrawingKind, DrawingDefinition, DrawingComputeContext, DrawingGeometry, DrawingStyle, PointPrimitive, LinePrimitive, AreaPrimitive, TextPrimitive, };
|
|
3
|
-
export declare class DrawingStore {
|
|
4
|
-
private drawings;
|
|
5
|
-
private selectedId;
|
|
6
|
-
getSelectedId(): string | null;
|
|
7
|
-
setSelectedId(id: string | null): void;
|
|
8
|
-
getAll(): DrawingObject[];
|
|
9
|
-
getVisibleByPane(paneId: string): DrawingObject[];
|
|
10
|
-
setAll(drawings: DrawingObject[]): void;
|
|
11
|
-
upsert(drawing: DrawingObject): void;
|
|
12
|
-
remove(id: string): void;
|
|
13
|
-
clear(): void;
|
|
14
|
-
}
|
|
15
|
-
export declare class DrawingDefinitionRegistry {
|
|
16
|
-
private definitions;
|
|
17
|
-
register<TParams = Record<string, unknown>>(definition: DrawingDefinition<TParams>): void;
|
|
18
|
-
get(kind: DrawingKind): DrawingDefinition | undefined;
|
|
19
|
-
compute(drawing: DrawingObject, context: DrawingComputeContext): DrawingGeometry | null;
|
|
20
|
-
}
|
|
21
|
-
export type PrimitiveRendererSet = {
|
|
22
|
-
point: (ctx: CanvasRenderingContext2D, primitive: PointPrimitive, dpr: number) => void;
|
|
23
|
-
line: (ctx: CanvasRenderingContext2D, primitive: LinePrimitive, viewportClip: {
|
|
24
|
-
left: number;
|
|
25
|
-
top: number;
|
|
26
|
-
right: number;
|
|
27
|
-
bottom: number;
|
|
28
|
-
}, dpr: number) => void;
|
|
29
|
-
area: (ctx: CanvasRenderingContext2D, primitive: AreaPrimitive, dpr: number) => void;
|
|
30
|
-
text: (ctx: CanvasRenderingContext2D, primitive: TextPrimitive, dpr: number) => void;
|
|
31
|
-
};
|
|
32
|
-
export declare function computeLinearRegression(values: number[]): {
|
|
33
|
-
slope: number;
|
|
34
|
-
intercept: number;
|
|
35
|
-
stdDev: number;
|
|
36
|
-
} | null;
|
|
37
|
-
export declare function createDefaultPrimitiveRendererSet(): PrimitiveRendererSet;
|
|
38
|
-
export declare function createTwoPointLineDefinition(kind: DrawingKind, extend: LinePrimitive['extend']): DrawingDefinition;
|
|
39
|
-
export declare function createSingleAnchorLineDefinition(kind: DrawingKind): DrawingDefinition;
|
|
40
|
-
export declare function createInfoLineDefinition(): DrawingDefinition;
|
|
41
|
-
export declare function createParallelChannelDefinition(): DrawingDefinition;
|
|
42
|
-
export declare function createFlatLineDefinition(): DrawingDefinition;
|
|
43
|
-
export declare function createDisjointChannelDefinition(): DrawingDefinition;
|
|
44
|
-
export declare function createRegressionChannelDefinition(): DrawingDefinition;
|
|
45
|
-
export declare function registerDefaultDrawingDefinitions(registry: DrawingDefinitionRegistry): void;
|
|
46
|
-
export { DrawingInteractionController } from './interaction';
|
|
47
|
-
export type { DrawingToolId, DrawingAnchorInput, DrawingInteractionCallbacks } from './interaction';
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { DrawingObject, DrawingStyle } from '../../plugin';
|
|
2
|
-
import { Chart } from '../chart';
|
|
3
|
-
export type DrawingToolId = 'cursor' | 'trend-line' | 'ray' | 'h-line' | 'h-ray' | 'v-line' | 'crosshair-line' | 'info-line' | 'parallel-channel' | 'regression-channel' | 'flat-line' | 'disjoint-channel';
|
|
4
|
-
export interface DrawingAnchorInput {
|
|
5
|
-
index: number;
|
|
6
|
-
time?: number;
|
|
7
|
-
price: number;
|
|
8
|
-
}
|
|
9
|
-
export interface DrawingInteractionCallbacks {
|
|
10
|
-
onDrawingCreated?: (drawing: DrawingObject) => void;
|
|
11
|
-
onToolChange?: (toolId: DrawingToolId) => void;
|
|
12
|
-
onDrawingSelected?: (drawing: DrawingObject | null) => void;
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 绘图交互控制器
|
|
16
|
-
* 封装绘图工具的交互逻辑,与 Vue 组件解耦
|
|
17
|
-
*/
|
|
18
|
-
export declare class DrawingInteractionController {
|
|
19
|
-
private chart;
|
|
20
|
-
private activeTool;
|
|
21
|
-
private pendingAnchors;
|
|
22
|
-
private drawings;
|
|
23
|
-
private callbacks;
|
|
24
|
-
private previewDrawingId;
|
|
25
|
-
private dragState;
|
|
26
|
-
private selectedDrawingId;
|
|
27
|
-
private static readonly SINGLE_ANCHOR_TOOLS;
|
|
28
|
-
private static readonly DOUBLE_ANCHOR_TOOLS;
|
|
29
|
-
private static readonly TRIPLE_ANCHOR_TOOLS;
|
|
30
|
-
constructor(chart: Chart);
|
|
31
|
-
setCallbacks(callbacks: DrawingInteractionCallbacks): void;
|
|
32
|
-
getActiveTool(): DrawingToolId;
|
|
33
|
-
setTool(toolId: DrawingToolId): void;
|
|
34
|
-
getDrawings(): DrawingObject[];
|
|
35
|
-
setDrawings(drawings: DrawingObject[]): void;
|
|
36
|
-
clear(): void;
|
|
37
|
-
getSelectedDrawing(): DrawingObject | null;
|
|
38
|
-
updateDrawingStyle(drawingId: string, style: Partial<DrawingStyle>): void;
|
|
39
|
-
removeDrawing(drawingId: string): void;
|
|
40
|
-
/**
|
|
41
|
-
* 处理指针移动事件
|
|
42
|
-
* @returns 是否处理了事件(阻止冒泡)
|
|
43
|
-
*/
|
|
44
|
-
onPointerMove(e: PointerEvent, container: HTMLElement): boolean;
|
|
45
|
-
/**
|
|
46
|
-
* 处理指针按下事件
|
|
47
|
-
* @returns 是否处理了事件(阻止冒泡)
|
|
48
|
-
*/
|
|
49
|
-
onPointerDown(e: PointerEvent, container: HTMLElement): boolean;
|
|
50
|
-
/**
|
|
51
|
-
* 处理指针释放事件
|
|
52
|
-
* @returns 是否处理了事件(阻止冒泡)
|
|
53
|
-
*/
|
|
54
|
-
onPointerUp(_e: PointerEvent, _container: HTMLElement): boolean;
|
|
55
|
-
private handleCursorDown;
|
|
56
|
-
private handleDragMove;
|
|
57
|
-
private handlePreviewMove;
|
|
58
|
-
private hitTest;
|
|
59
|
-
private getDrawingLineSegments;
|
|
60
|
-
/**
|
|
61
|
-
* regression-channel 专用:回归线端点也是可拖拽的锚点区域
|
|
62
|
-
* 回归线端点可能远离存储的锚点,需要额外检测
|
|
63
|
-
*/
|
|
64
|
-
private hitTestRegressionEndpoints;
|
|
65
|
-
private getRegressionChannelGeometry;
|
|
66
|
-
private getExtendMode;
|
|
67
|
-
private anchorToScreen;
|
|
68
|
-
private screenToAnchor;
|
|
69
|
-
private setSelected;
|
|
70
|
-
private removePreview;
|
|
71
|
-
private resolveAnchorFromPointer;
|
|
72
|
-
private createSingleAnchorDrawing;
|
|
73
|
-
private createMultiAnchorDrawing;
|
|
74
|
-
private getDrawingKind;
|
|
75
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { RendererPlugin } from '../../plugin';
|
|
2
|
-
import { DrawingStore, DrawingDefinitionRegistry, PrimitiveRendererSet } from './index';
|
|
3
|
-
/**
|
|
4
|
-
* 创建绘图渲染器插件(主层,负责绘制 shape)
|
|
5
|
-
* 注意:此插件不再推送轴标签,标签由 createDrawingLabelOverlayPlugin 负责
|
|
6
|
-
*/
|
|
7
|
-
export declare function createDrawingRendererPlugin(options: {
|
|
8
|
-
store: DrawingStore;
|
|
9
|
-
paneId?: string;
|
|
10
|
-
definitions?: DrawingDefinitionRegistry;
|
|
11
|
-
renderers?: PrimitiveRendererSet;
|
|
12
|
-
}): RendererPlugin;
|
|
13
|
-
/**
|
|
14
|
-
* 创建绘图标签 Overlay 插件
|
|
15
|
-
*
|
|
16
|
-
* ⚠️ 警告:此插件必须在 All 和 Overlay 更新级别运行
|
|
17
|
-
* 当前代码库中没有 UpdateLevel.Main 的触发点,因此此插件设置为 layer: 'overlay' 是安全的
|
|
18
|
-
* 如果将来添加 Main 级别的更新,此插件会被跳过,导致选中绘图的轴标签消失
|
|
19
|
-
*
|
|
20
|
-
* 解决方案:如果将来需要使用 Main 级别,请将此插件改为同时在 main 和 overlay 层注册,
|
|
21
|
-
* 或移除分层过滤让此插件在所有级别运行
|
|
22
|
-
*/
|
|
23
|
-
export declare function createDrawingLabelOverlayPlugin(options: {
|
|
24
|
-
store: DrawingStore;
|
|
25
|
-
paneId?: string;
|
|
26
|
-
definitions?: DrawingDefinitionRegistry;
|
|
27
|
-
}): RendererPlugin;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { BaseIndicatorState } from '../../plugin';
|
|
2
|
-
export interface ATRRenderState extends BaseIndicatorState {
|
|
3
|
-
timestamp: number;
|
|
4
|
-
series: (number | undefined)[];
|
|
5
|
-
params: {
|
|
6
|
-
period: number;
|
|
7
|
-
showATR: boolean;
|
|
8
|
-
};
|
|
9
|
-
valueMin: number;
|
|
10
|
-
valueMax: number;
|
|
11
|
-
visibleMin: number;
|
|
12
|
-
visibleMax: number;
|
|
13
|
-
}
|
|
14
|
-
export declare const createATRStateKey: (paneId: string) => `indicator:${string}:${string}`;
|
|
15
|
-
export declare const DEFAULT_ATR_PERIOD = 14;
|
|
16
|
-
export declare const EMPTY_ATR_STATE: ATRRenderState;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { BaseIndicatorState } from '../../plugin';
|
|
2
|
-
import { BOLLPoint } from './calculators';
|
|
3
|
-
/**
|
|
4
|
-
* BOLL 渲染器状态(共享给渲染器和图例)
|
|
5
|
-
* 包含全量 BOLL 数组、计算参数、以及视口极值
|
|
6
|
-
*/
|
|
7
|
-
export interface BOLLRenderState extends BaseIndicatorState {
|
|
8
|
-
timestamp: number;
|
|
9
|
-
/** 全量 BOLL 数组(稀疏:前 period-1 个为 undefined) */
|
|
10
|
-
series: BOLLPoint[];
|
|
11
|
-
/** 计算和渲染参数(渲染器从此读取 showUpper/showMiddle/showLower/showBand) */
|
|
12
|
-
params: {
|
|
13
|
-
period: number;
|
|
14
|
-
multiplier: number;
|
|
15
|
-
showUpper: boolean;
|
|
16
|
-
showMiddle: boolean;
|
|
17
|
-
showLower: boolean;
|
|
18
|
-
showBand: boolean;
|
|
19
|
-
};
|
|
20
|
-
/** 视口内所有 BOLL 线的最低价 */
|
|
21
|
-
visibleMin: number;
|
|
22
|
-
/** 视口内所有 BOLL 线的最高价 */
|
|
23
|
-
visibleMax: number;
|
|
24
|
-
}
|
|
25
|
-
/**
|
|
26
|
-
* BOLL 状态的 StateStore 键名
|
|
27
|
-
* 格式:indicator:boll:main
|
|
28
|
-
*/
|
|
29
|
-
export declare const BOLL_STATE_KEY: `indicator:${string}:${string}`;
|
|
30
|
-
/**
|
|
31
|
-
* 空数据占位状态
|
|
32
|
-
* 消费者应检查 visibleMin > visibleMax 判断"无有效数据"
|
|
33
|
-
*/
|
|
34
|
-
export declare const EMPTY_BOLL_STATE: BOLLRenderState;
|