@tradecanvas/core 1.2.0 → 1.4.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/LICENSE +21 -21
- package/README.md +4 -6
- package/dist/axis/GridRenderer.d.ts.map +1 -1
- package/dist/axis/PriceAxis.d.ts +6 -0
- package/dist/axis/PriceAxis.d.ts.map +1 -1
- package/dist/axis/TimeAxis.d.ts +2 -0
- package/dist/axis/TimeAxis.d.ts.map +1 -1
- package/dist/charts/AreaRenderer.d.ts.map +1 -1
- package/dist/charts/BarRenderer.d.ts.map +1 -1
- package/dist/charts/BaselineRenderer.d.ts.map +1 -1
- package/dist/charts/CandlestickRenderer.d.ts.map +1 -1
- package/dist/charts/EquivolumeRenderer.d.ts.map +1 -1
- package/dist/charts/HLCAreaRenderer.d.ts.map +1 -1
- package/dist/charts/HollowCandleRenderer.d.ts.map +1 -1
- package/dist/charts/KagiRenderer.d.ts.map +1 -1
- package/dist/charts/LineRenderer.d.ts.map +1 -1
- package/dist/charts/LineWithMarkersRenderer.d.ts.map +1 -1
- package/dist/charts/MarketProfileRenderer.d.ts.map +1 -1
- package/dist/charts/PivotMarkersRenderer.d.ts.map +1 -1
- package/dist/charts/PointAndFigureRenderer.d.ts.map +1 -1
- package/dist/charts/RenkoRenderer.d.ts.map +1 -1
- package/dist/charts/StepLineRenderer.d.ts.map +1 -1
- package/dist/charts/VolumeCandleRenderer.d.ts.map +1 -1
- package/dist/charts/VolumeProfileRenderer.d.ts.map +1 -1
- package/dist/drawings/DrawingManager.d.ts +60 -0
- package/dist/drawings/DrawingManager.d.ts.map +1 -1
- package/dist/drawings/tools/AnchoredVWAP.d.ts +7 -0
- package/dist/drawings/tools/AnchoredVWAP.d.ts.map +1 -1
- package/dist/drawings/tools/RiskReward.d.ts +1 -1
- package/dist/engine/LayerManager.d.ts +8 -1
- package/dist/engine/LayerManager.d.ts.map +1 -1
- package/dist/engine/RenderEngine.d.ts +22 -4
- package/dist/engine/RenderEngine.d.ts.map +1 -1
- package/dist/engine/RenderLoop.d.ts.map +1 -1
- package/dist/features/AlertManager.d.ts.map +1 -1
- package/dist/features/ChartState.d.ts +18 -12
- package/dist/features/ChartState.d.ts.map +1 -1
- package/dist/features/MeasureOverlay.d.ts +1 -1
- package/dist/features/MeasureOverlay.d.ts.map +1 -1
- package/dist/features/ReplayManager.d.ts +16 -1
- package/dist/features/ReplayManager.d.ts.map +1 -1
- package/dist/features/SelectionBoxOverlay.d.ts +29 -0
- package/dist/features/SelectionBoxOverlay.d.ts.map +1 -0
- package/dist/features/UndoRedoManager.d.ts +3 -1
- package/dist/features/UndoRedoManager.d.ts.map +1 -1
- package/dist/features/index.d.ts +4 -1
- package/dist/features/index.d.ts.map +1 -1
- package/dist/finance/GaugeRenderer.d.ts +39 -1
- package/dist/finance/GaugeRenderer.d.ts.map +1 -1
- package/dist/index.cjs +11 -11
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +2509 -1737
- package/dist/index.js.map +1 -1
- package/dist/indicators/IndicatorEngine.d.ts +2 -0
- package/dist/indicators/IndicatorEngine.d.ts.map +1 -1
- package/dist/indicators/panel/VolumeProfile.d.ts.map +1 -1
- package/dist/interaction/AxisDragHandler.d.ts +1 -1
- package/dist/interaction/CrosshairHandler.d.ts +25 -1
- package/dist/interaction/CrosshairHandler.d.ts.map +1 -1
- package/dist/interaction/CrosshairTooltip.d.ts +50 -15
- package/dist/interaction/CrosshairTooltip.d.ts.map +1 -1
- package/dist/interaction/InteractionManager.d.ts +26 -1
- package/dist/interaction/InteractionManager.d.ts.map +1 -1
- package/dist/interaction/PanHandler.d.ts +11 -3
- package/dist/interaction/PanHandler.d.ts.map +1 -1
- package/dist/interaction/index.d.ts +2 -1
- package/dist/interaction/index.d.ts.map +1 -1
- package/dist/realtime/CurrentPriceLine.d.ts +1 -0
- package/dist/realtime/CurrentPriceLine.d.ts.map +1 -1
- package/dist/trading/OrderRenderer.d.ts +1 -1
- package/dist/trading/PositionRenderer.d.ts +1 -1
- package/dist/trading/TradingManager.d.ts +4 -2
- package/dist/trading/TradingManager.d.ts.map +1 -1
- package/dist/trading/TradingRenderer.d.ts +1 -1
- package/dist/ui/ChartLegend.d.ts +7 -1
- package/dist/ui/ChartLegend.d.ts.map +1 -1
- package/dist/viewport/ScaleMapping.d.ts +40 -4
- package/dist/viewport/ScaleMapping.d.ts.map +1 -1
- package/dist/viewport/Viewport.d.ts +30 -1
- package/dist/viewport/Viewport.d.ts.map +1 -1
- package/dist/viewport/index.d.ts +3 -1
- package/dist/viewport/index.d.ts.map +1 -1
- package/dist/viewport/rangePresets.d.ts +10 -0
- package/dist/viewport/rangePresets.d.ts.map +1 -0
- package/package.json +3 -2
|
@@ -4,6 +4,11 @@ export interface ReplayConfig {
|
|
|
4
4
|
speed: number;
|
|
5
5
|
interval: number;
|
|
6
6
|
startIndex?: number;
|
|
7
|
+
/**
|
|
8
|
+
* Reveal `startIndex` at once and wait paused, instead of revealing it on
|
|
9
|
+
* the first tick — so entering replay shows the cut immediately.
|
|
10
|
+
*/
|
|
11
|
+
paused?: boolean;
|
|
7
12
|
}
|
|
8
13
|
interface ReplayEvents {
|
|
9
14
|
bar: {
|
|
@@ -18,10 +23,13 @@ interface ReplayEvents {
|
|
|
18
23
|
/**
|
|
19
24
|
* Replays historical data bar-by-bar for backtesting and review.
|
|
20
25
|
* Feeds bars to the chart sequentially at configurable speed.
|
|
26
|
+
*
|
|
27
|
+
* The cursor is the bar on screen (`-1` before the first one). Reaching the
|
|
28
|
+
* last bar pauses there and emits `complete`; it doesn't wrap to the start.
|
|
21
29
|
*/
|
|
22
30
|
export declare class ReplayManager extends Emitter<ReplayEvents> {
|
|
23
31
|
private data;
|
|
24
|
-
private
|
|
32
|
+
private cursor;
|
|
25
33
|
private timer;
|
|
26
34
|
private state;
|
|
27
35
|
private config;
|
|
@@ -38,12 +46,19 @@ export declare class ReplayManager extends Emitter<ReplayEvents> {
|
|
|
38
46
|
seekTo(index: number): void;
|
|
39
47
|
setSpeed(speed: number): void;
|
|
40
48
|
getState(): 'playing' | 'paused' | 'stopped';
|
|
49
|
+
/** Whether the last bar is on screen. */
|
|
50
|
+
isAtEnd(): boolean;
|
|
51
|
+
/** `current`: index of the bar on screen (0 before the first one). */
|
|
41
52
|
getProgress(): {
|
|
42
53
|
current: number;
|
|
43
54
|
total: number;
|
|
44
55
|
percent: number;
|
|
45
56
|
};
|
|
46
57
|
dispose(): void;
|
|
58
|
+
private tick;
|
|
59
|
+
private clamp;
|
|
60
|
+
private clearTimer;
|
|
61
|
+
private setState;
|
|
47
62
|
}
|
|
48
63
|
export {};
|
|
49
64
|
//# sourceMappingURL=ReplayManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ReplayManager.d.ts","sourceRoot":"","sources":["../../src/features/ReplayManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ReplayManager.d.ts","sourceRoot":"","sources":["../../src/features/ReplayManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAChE,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAEjD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,UAAU,YAAY;IACpB,GAAG,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACpD,QAAQ,EAAE,IAAI,CAAC;IACf,WAAW,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC9C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;;;;GAMG;AACH,qBAAa,aAAc,SAAQ,OAAO,CAAC,YAAY,CAAC;IACtD,OAAO,CAAC,IAAI,CAAkB;IAC9B,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,MAAM,CAA6C;IAE3D,IAAI,CAAC,IAAI,EAAE,UAAU,GAAG,IAAI;IAM5B,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IA2B1C,KAAK,IAAI,IAAI;IAKb,MAAM,IAAI,IAAI;IAId,IAAI,IAAI,IAAI;IAMZ;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAM3B,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK7B,QAAQ,IAAI,SAAS,GAAG,QAAQ,GAAG,SAAS;IAI5C,yCAAyC;IACzC,OAAO,IAAI,OAAO;IAIlB,sEAAsE;IACtE,WAAW,IAAI;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;IASlE,OAAO,IAAI,IAAI;IAMf,OAAO,CAAC,IAAI;IAiBZ,OAAO,CAAC,KAAK;IAKb,OAAO,CAAC,UAAU;IAOlB,OAAO,CAAC,QAAQ;CAKjB"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Point, ViewportState, Theme } from '@tradecanvas/commons';
|
|
2
|
+
/** A box smaller than this (px) in both directions counts as a click, not a selection. */
|
|
3
|
+
export declare const SELECTION_BOX_MIN_SIZE = 6;
|
|
4
|
+
/** Normalised pixel rectangle of a finished selection box. */
|
|
5
|
+
export interface SelectionBox {
|
|
6
|
+
x0: number;
|
|
7
|
+
y0: number;
|
|
8
|
+
x1: number;
|
|
9
|
+
y1: number;
|
|
10
|
+
/** True when the pointer barely moved — treat as a click at (x1, y1). */
|
|
11
|
+
isClick: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Ctrl/⌘-drag selection box. While dragging it draws a translucent dashed
|
|
15
|
+
* rectangle; on release the chart selects the drawings inside it. Transient
|
|
16
|
+
* like the measure ruler: never saved, no undo.
|
|
17
|
+
*/
|
|
18
|
+
export declare class SelectionBoxOverlay {
|
|
19
|
+
private start;
|
|
20
|
+
private current;
|
|
21
|
+
isActive(): boolean;
|
|
22
|
+
begin(pos: Point): void;
|
|
23
|
+
update(pos: Point): void;
|
|
24
|
+
/** Finish the box; null if none was in progress. */
|
|
25
|
+
end(): SelectionBox | null;
|
|
26
|
+
cancel(): void;
|
|
27
|
+
render(ctx: CanvasRenderingContext2D, viewport: ViewportState, theme: Theme): void;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=SelectionBoxOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SelectionBoxOverlay.d.ts","sourceRoot":"","sources":["../../src/features/SelectionBoxOverlay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAExE,0FAA0F;AAC1F,eAAO,MAAM,sBAAsB,IAAI,CAAC;AAExC,8DAA8D;AAC9D,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,yEAAyE;IACzE,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;GAIG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,KAAK,CAAsB;IACnC,OAAO,CAAC,OAAO,CAAsB;IAErC,QAAQ,IAAI,OAAO;IAInB,KAAK,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAKvB,MAAM,CAAC,GAAG,EAAE,KAAK,GAAG,IAAI;IAIxB,oDAAoD;IACpD,GAAG,IAAI,YAAY,GAAG,IAAI;IAa1B,MAAM,IAAI,IAAI;IAKd,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI;CAqBnF"}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
1
|
import { DrawingState } from '@tradecanvas/commons';
|
|
2
2
|
export interface UndoableAction {
|
|
3
|
-
type: 'drawingCreate' | 'drawingRemove' | 'drawingModify';
|
|
3
|
+
type: 'drawingCreate' | 'drawingRemove' | 'drawingModify' | 'drawingBatch';
|
|
4
4
|
/** State before the action (null for create) */
|
|
5
5
|
before: DrawingState | null;
|
|
6
6
|
/** State after the action (null for remove) */
|
|
7
7
|
after: DrawingState | null;
|
|
8
|
+
/** For 'drawingBatch': the actions undone/redone together as one step. */
|
|
9
|
+
actions?: UndoableAction[];
|
|
8
10
|
}
|
|
9
11
|
export declare class UndoRedoManager {
|
|
10
12
|
private undoStack;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UndoRedoManager.d.ts","sourceRoot":"","sources":["../../src/features/UndoRedoManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"UndoRedoManager.d.ts","sourceRoot":"","sources":["../../src/features/UndoRedoManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEzD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,eAAe,GAAG,eAAe,GAAG,eAAe,GAAG,cAAc,CAAC;IAC3E,gDAAgD;IAChD,MAAM,EAAE,YAAY,GAAG,IAAI,CAAC;IAC5B,+CAA+C;IAC/C,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,0EAA0E;IAC1E,OAAO,CAAC,EAAE,cAAc,EAAE,CAAC;CAC5B;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,SAAS,CAAwB;IACzC,OAAO,CAAC,UAAU,CAAM;IACxB,OAAO,CAAC,QAAQ,CAA6B;IAE7C,WAAW,CAAC,EAAE,EAAE,MAAM,IAAI,GAAG,IAAI;IAIjC,IAAI,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAUlC,OAAO,IAAI,OAAO;IAIlB,OAAO,IAAI,OAAO;IAIlB,IAAI,IAAI,cAAc,GAAG,IAAI;IAQ7B,IAAI,IAAI,cAAc,GAAG,IAAI;IAQ7B,KAAK,IAAI,IAAI;IAKb,QAAQ,IAAI;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,SAAS,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE;CAQzF"}
|
package/dist/features/index.d.ts
CHANGED
|
@@ -3,11 +3,14 @@ export type { PriceAlert, AlertCondition } from './AlertManager.js';
|
|
|
3
3
|
export { ReplayManager } from './ReplayManager.js';
|
|
4
4
|
export type { ReplayConfig } from './ReplayManager.js';
|
|
5
5
|
export { ChartStateManager } from './ChartState.js';
|
|
6
|
-
export type { ChartSnapshot } from './ChartState.js';
|
|
6
|
+
export type { ChartSnapshot, SnapshotIndicator } from './ChartState.js';
|
|
7
|
+
export { SNAPSHOT_VERSION } from './ChartState.js';
|
|
7
8
|
export { UndoRedoManager } from './UndoRedoManager.js';
|
|
8
9
|
export type { UndoableAction } from './UndoRedoManager.js';
|
|
9
10
|
export { DataExporter } from './DataExporter.js';
|
|
10
11
|
export { SignalMarkerManager } from './SignalMarkerManager.js';
|
|
11
12
|
export { TradeZoneManager } from './TradeZoneManager.js';
|
|
12
13
|
export { MeasureOverlay } from './MeasureOverlay.js';
|
|
14
|
+
export { SelectionBoxOverlay, SELECTION_BOX_MIN_SIZE } from './SelectionBoxOverlay.js';
|
|
15
|
+
export type { SelectionBox } from './SelectionBoxOverlay.js';
|
|
13
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/features/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,YAAY,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACpD,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AACvF,YAAY,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC"}
|
|
@@ -1,3 +1,41 @@
|
|
|
1
|
-
import { GaugeOptions, Theme } from '@tradecanvas/commons';
|
|
1
|
+
import { GaugeOptions, GaugeZone, Theme } from '@tradecanvas/commons';
|
|
2
|
+
export interface GaugeLayout {
|
|
3
|
+
cx: number;
|
|
4
|
+
cy: number;
|
|
5
|
+
/** Centre line of the ring. */
|
|
6
|
+
radius: number;
|
|
7
|
+
/** Ring stroke width. */
|
|
8
|
+
thickness: number;
|
|
9
|
+
startAngle: number;
|
|
10
|
+
endAngle: number;
|
|
11
|
+
min: number;
|
|
12
|
+
max: number;
|
|
13
|
+
/** Where the value text sits (centre of the main number). */
|
|
14
|
+
valueY: number;
|
|
15
|
+
valueSize: number;
|
|
16
|
+
/** Lowest y the centre text may reach without meeting the end labels or the edge. */
|
|
17
|
+
textBottom: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Fit the gauge into `width × height`: the ring is scaled so the arc (plus
|
|
21
|
+
* the min/max labels and any zone labels) fills the box, then centred. Pure,
|
|
22
|
+
* so it can be tested without a canvas.
|
|
23
|
+
*/
|
|
24
|
+
export declare function computeGaugeLayout(width: number, height: number, options: GaugeOptions): GaugeLayout;
|
|
25
|
+
export declare function gaugeValueToAngle(value: number, layout: GaugeLayout): number;
|
|
26
|
+
/** The zone containing `value` (last match wins on shared edges), if any. */
|
|
27
|
+
export declare function gaugeZoneAt(value: number, zones: readonly GaugeZone[] | undefined): GaugeZone | undefined;
|
|
28
|
+
export interface GaugeBand {
|
|
29
|
+
a0: number;
|
|
30
|
+
a1: number;
|
|
31
|
+
color: string;
|
|
32
|
+
/** Track bands fill gaps between zones and stay at full opacity. */
|
|
33
|
+
track: boolean;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The ring split into bands: zones in angle order (overlaps trimmed so each
|
|
37
|
+
* angle is painted once), with track bands wherever no zone reaches.
|
|
38
|
+
*/
|
|
39
|
+
export declare function gaugeRingBands(layout: GaugeLayout, zones: readonly GaugeZone[] | undefined, trackColor: string): GaugeBand[];
|
|
2
40
|
export declare function renderGauge(ctx: CanvasRenderingContext2D, width: number, height: number, options: GaugeOptions, theme: Theme, displayValue: number): void;
|
|
3
41
|
//# sourceMappingURL=GaugeRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GaugeRenderer.d.ts","sourceRoot":"","sources":["../../src/finance/GaugeRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"GaugeRenderer.d.ts","sourceRoot":"","sources":["../../src/finance/GaugeRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AA0B3E,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,+BAA+B;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,yBAAyB;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,6DAA6D;IAC7D,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,UAAU,EAAE,MAAM,CAAC;CACpB;AAkDD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,YAAY,GAAG,WAAW,CAuCpG;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,CAG5E;AAED,6EAA6E;AAC7E,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAOzG;AAED,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,KAAK,EAAE,OAAO,CAAC;CAChB;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,SAAS,EAAE,GAAG,SAAS,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,EAAE,CAe5H;AAgPD,wBAAgB,WAAW,CACzB,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,KAAK,EACZ,YAAY,EAAE,MAAM,GACnB,IAAI,CAiCN"}
|