@tradecanvas/core 1.4.0 → 1.10.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 +107 -107
- package/dist/WebGLSeriesRenderer-DQOPCwno.js +1643 -0
- package/dist/WebGLSeriesRenderer-DQOPCwno.js.map +1 -0
- package/dist/WebGLSeriesRenderer-DspCYR38.cjs +429 -0
- package/dist/WebGLSeriesRenderer-DspCYR38.cjs.map +1 -0
- package/dist/axis/GridRenderer.d.ts.map +1 -1
- package/dist/axis/PriceAxis.d.ts +12 -1
- package/dist/axis/PriceAxis.d.ts.map +1 -1
- package/dist/axis/TimeAxis.d.ts +7 -4
- package/dist/axis/TimeAxis.d.ts.map +1 -1
- package/dist/axis/gridLines.d.ts +9 -0
- package/dist/axis/gridLines.d.ts.map +1 -0
- package/dist/charts/BarRenderer.d.ts.map +1 -1
- package/dist/charts/CandlestickRenderer.d.ts.map +1 -1
- package/dist/charts/CompareRenderer.d.ts +21 -4
- package/dist/charts/CompareRenderer.d.ts.map +1 -1
- package/dist/charts/HiLoRenderer.d.ts +14 -0
- package/dist/charts/HiLoRenderer.d.ts.map +1 -0
- package/dist/charts/HollowCandleRenderer.d.ts.map +1 -1
- package/dist/charts/PeriodLevelsRenderer.d.ts.map +1 -1
- package/dist/charts/VolumeCandleRenderer.d.ts.map +1 -1
- package/dist/charts/VolumeRenderer.d.ts +6 -3
- package/dist/charts/VolumeRenderer.d.ts.map +1 -1
- package/dist/charts/denseBars.d.ts +28 -0
- package/dist/charts/denseBars.d.ts.map +1 -0
- package/dist/charts/index.d.ts +3 -0
- package/dist/charts/index.d.ts.map +1 -1
- package/dist/charts/pixelGrid.d.ts +49 -0
- package/dist/charts/pixelGrid.d.ts.map +1 -0
- package/dist/charts/transforms/kagi.d.ts +3 -2
- package/dist/charts/transforms/kagi.d.ts.map +1 -1
- package/dist/charts/transforms/renko.d.ts.map +1 -1
- package/dist/drawings/DrawingBase.d.ts +34 -1
- package/dist/drawings/DrawingBase.d.ts.map +1 -1
- package/dist/drawings/DrawingCreator.d.ts +51 -0
- package/dist/drawings/DrawingCreator.d.ts.map +1 -0
- package/dist/drawings/DrawingDrag.d.ts +36 -0
- package/dist/drawings/DrawingDrag.d.ts.map +1 -0
- package/dist/drawings/DrawingManager.d.ts +156 -33
- package/dist/drawings/DrawingManager.d.ts.map +1 -1
- package/dist/drawings/DrawingRenderer.d.ts +2 -2
- package/dist/drawings/DrawingRenderer.d.ts.map +1 -1
- package/dist/drawings/DrawingSelection.d.ts +28 -0
- package/dist/drawings/DrawingSelection.d.ts.map +1 -0
- package/dist/drawings/drawingHistory.d.ts +12 -0
- package/dist/drawings/drawingHistory.d.ts.map +1 -0
- package/dist/drawings/drawingShortcuts.d.ts +11 -0
- package/dist/drawings/drawingShortcuts.d.ts.map +1 -0
- package/dist/drawings/drawingState.d.ts +29 -0
- package/dist/drawings/drawingState.d.ts.map +1 -0
- package/dist/drawings/index.d.ts +2 -1
- package/dist/drawings/index.d.ts.map +1 -1
- package/dist/drawings/magnetSnap.d.ts +12 -0
- package/dist/drawings/magnetSnap.d.ts.map +1 -0
- package/dist/drawings/tools/AnchoredVWAP.d.ts.map +1 -1
- package/dist/drawings/tools/Circle.d.ts +1 -0
- package/dist/drawings/tools/Circle.d.ts.map +1 -1
- package/dist/drawings/tools/CrossLine.d.ts.map +1 -1
- package/dist/drawings/tools/DateRange.d.ts.map +1 -1
- package/dist/drawings/tools/ElliottWave.d.ts +128 -3
- package/dist/drawings/tools/ElliottWave.d.ts.map +1 -1
- package/dist/drawings/tools/Ellipse.d.ts +1 -0
- package/dist/drawings/tools/Ellipse.d.ts.map +1 -1
- package/dist/drawings/tools/ExtendedLine.d.ts +1 -0
- package/dist/drawings/tools/ExtendedLine.d.ts.map +1 -1
- package/dist/drawings/tools/FibChannel.d.ts +7 -0
- package/dist/drawings/tools/FibChannel.d.ts.map +1 -1
- package/dist/drawings/tools/FibExtension.d.ts +20 -0
- package/dist/drawings/tools/FibExtension.d.ts.map +1 -1
- package/dist/drawings/tools/FibRetracement.d.ts +28 -0
- package/dist/drawings/tools/FibRetracement.d.ts.map +1 -1
- package/dist/drawings/tools/FibSpeedResistanceFan.d.ts +9 -1
- package/dist/drawings/tools/FibSpeedResistanceFan.d.ts.map +1 -1
- package/dist/drawings/tools/FibTimeZones.d.ts +16 -0
- package/dist/drawings/tools/FibTimeZones.d.ts.map +1 -1
- package/dist/drawings/tools/GannBox.d.ts.map +1 -1
- package/dist/drawings/tools/GannFan.d.ts.map +1 -1
- package/dist/drawings/tools/HorizontalLine.d.ts +1 -0
- package/dist/drawings/tools/HorizontalLine.d.ts.map +1 -1
- package/dist/drawings/tools/HorizontalRay.d.ts +1 -0
- package/dist/drawings/tools/HorizontalRay.d.ts.map +1 -1
- package/dist/drawings/tools/Measure.d.ts.map +1 -1
- package/dist/drawings/tools/ParallelChannel.d.ts +12 -0
- package/dist/drawings/tools/ParallelChannel.d.ts.map +1 -1
- package/dist/drawings/tools/PriceLabel.d.ts +1 -0
- package/dist/drawings/tools/PriceLabel.d.ts.map +1 -1
- package/dist/drawings/tools/PriceRange.d.ts.map +1 -1
- package/dist/drawings/tools/Ray.d.ts +1 -0
- package/dist/drawings/tools/Ray.d.ts.map +1 -1
- package/dist/drawings/tools/Rectangle.d.ts +1 -0
- package/dist/drawings/tools/Rectangle.d.ts.map +1 -1
- package/dist/drawings/tools/RegressionChannel.d.ts +1 -0
- package/dist/drawings/tools/RegressionChannel.d.ts.map +1 -1
- package/dist/drawings/tools/RiskReward.d.ts +59 -6
- package/dist/drawings/tools/RiskReward.d.ts.map +1 -1
- package/dist/drawings/tools/TextAnnotation.d.ts +1 -0
- package/dist/drawings/tools/TextAnnotation.d.ts.map +1 -1
- package/dist/drawings/tools/TrendAngle.d.ts.map +1 -1
- package/dist/drawings/tools/TrendLine.d.ts +3 -0
- package/dist/drawings/tools/TrendLine.d.ts.map +1 -1
- package/dist/drawings/tools/Triangle.d.ts +1 -0
- package/dist/drawings/tools/Triangle.d.ts.map +1 -1
- package/dist/drawings/tools/VerticalLine.d.ts.map +1 -1
- package/dist/drawings/tools/VolumeProfileRange.d.ts +1 -0
- package/dist/drawings/tools/VolumeProfileRange.d.ts.map +1 -1
- package/dist/drawings/tools/annotations.d.ts +113 -0
- package/dist/drawings/tools/annotations.d.ts.map +1 -0
- package/dist/drawings/tools/cycles.d.ts +37 -0
- package/dist/drawings/tools/cycles.d.ts.map +1 -0
- package/dist/drawings/tools/fibGeometry.d.ts +202 -0
- package/dist/drawings/tools/fibGeometry.d.ts.map +1 -0
- package/dist/drawings/tools/forecast.d.ts +85 -0
- package/dist/drawings/tools/forecast.d.ts.map +1 -0
- package/dist/drawings/tools/freehand.d.ts +81 -0
- package/dist/drawings/tools/freehand.d.ts.map +1 -0
- package/dist/drawings/tools/index.d.ts +7 -0
- package/dist/drawings/tools/index.d.ts.map +1 -1
- package/dist/drawings/tools/labels.d.ts +32 -3
- package/dist/drawings/tools/labels.d.ts.map +1 -1
- package/dist/drawings/tools/options.d.ts +16 -0
- package/dist/drawings/tools/options.d.ts.map +1 -0
- package/dist/drawings/tools/patterns.d.ts +32 -0
- package/dist/drawings/tools/patterns.d.ts.map +1 -1
- package/dist/drawings/tools/priceLevels.d.ts +29 -0
- package/dist/drawings/tools/priceLevels.d.ts.map +1 -0
- package/dist/drawings/tools/textBox.d.ts +39 -0
- package/dist/drawings/tools/textBox.d.ts.map +1 -0
- package/dist/engine/LayerManager.d.ts +23 -0
- package/dist/engine/LayerManager.d.ts.map +1 -1
- package/dist/engine/RenderEngine.d.ts +53 -1
- package/dist/engine/RenderEngine.d.ts.map +1 -1
- package/dist/engine/gpu.d.ts +83 -0
- package/dist/engine/gpu.d.ts.map +1 -0
- package/dist/engine/index.d.ts +2 -0
- package/dist/engine/index.d.ts.map +1 -1
- package/dist/engine/loadWebGL.d.ts +9 -0
- package/dist/engine/loadWebGL.d.ts.map +1 -0
- package/dist/engine/plotSteps.d.ts +39 -0
- package/dist/engine/plotSteps.d.ts.map +1 -0
- package/dist/events/EventBus.d.ts +2 -0
- package/dist/events/EventBus.d.ts.map +1 -1
- package/dist/features/AlertManager.d.ts +117 -6
- package/dist/features/AlertManager.d.ts.map +1 -1
- package/dist/features/ChartState.d.ts +19 -1
- package/dist/features/ChartState.d.ts.map +1 -1
- package/dist/features/DataExporter.d.ts +7 -2
- package/dist/features/DataExporter.d.ts.map +1 -1
- package/dist/features/ReplayManager.d.ts +7 -0
- package/dist/features/ReplayManager.d.ts.map +1 -1
- package/dist/features/SignalMarkerManager.d.ts +8 -0
- package/dist/features/SignalMarkerManager.d.ts.map +1 -1
- package/dist/features/TradeZoneManager.d.ts.map +1 -1
- package/dist/features/UndoRedoManager.d.ts +30 -1
- package/dist/features/UndoRedoManager.d.ts.map +1 -1
- package/dist/features/index.d.ts +3 -1
- package/dist/features/index.d.ts.map +1 -1
- package/dist/gridLines-J41F0DQ6.cjs +2 -0
- package/dist/gridLines-J41F0DQ6.cjs.map +1 -0
- package/dist/gridLines-kFhXyH-u.js +218 -0
- package/dist/gridLines-kFhXyH-u.js.map +1 -0
- package/dist/index.cjs +11 -9
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +10638 -4930
- package/dist/index.js.map +1 -1
- package/dist/indicators/IndicatorBase.d.ts +5 -1
- package/dist/indicators/IndicatorBase.d.ts.map +1 -1
- package/dist/indicators/IndicatorEngine.d.ts +123 -11
- package/dist/indicators/IndicatorEngine.d.ts.map +1 -1
- package/dist/indicators/PointwiseIndicator.d.ts +25 -0
- package/dist/indicators/PointwiseIndicator.d.ts.map +1 -0
- package/dist/indicators/index.d.ts +32 -0
- package/dist/indicators/index.d.ts.map +1 -1
- package/dist/indicators/linePen.d.ts +38 -0
- package/dist/indicators/linePen.d.ts.map +1 -0
- package/dist/indicators/math.d.ts +47 -0
- package/dist/indicators/math.d.ts.map +1 -0
- package/dist/indicators/overlay/ALMA.d.ts +20 -0
- package/dist/indicators/overlay/ALMA.d.ts.map +1 -0
- package/dist/indicators/overlay/Alligator.d.ts +2 -14
- package/dist/indicators/overlay/Alligator.d.ts.map +1 -1
- package/dist/indicators/overlay/AnchoredVWAP.d.ts +2 -9
- package/dist/indicators/overlay/AnchoredVWAP.d.ts.map +1 -1
- package/dist/indicators/overlay/BollingerBands.d.ts +2 -10
- package/dist/indicators/overlay/BollingerBands.d.ts.map +1 -1
- package/dist/indicators/overlay/ChandeKrollStop.d.ts +16 -0
- package/dist/indicators/overlay/ChandeKrollStop.d.ts.map +1 -0
- package/dist/indicators/overlay/ChandelierExit.d.ts +2 -10
- package/dist/indicators/overlay/ChandelierExit.d.ts.map +1 -1
- package/dist/indicators/overlay/DEMA.d.ts +11 -0
- package/dist/indicators/overlay/DEMA.d.ts.map +1 -0
- package/dist/indicators/overlay/DonchianChannel.d.ts +2 -9
- package/dist/indicators/overlay/DonchianChannel.d.ts.map +1 -1
- package/dist/indicators/overlay/EMA.d.ts +2 -9
- package/dist/indicators/overlay/EMA.d.ts.map +1 -1
- package/dist/indicators/overlay/Envelope.d.ts +2 -10
- package/dist/indicators/overlay/Envelope.d.ts.map +1 -1
- package/dist/indicators/overlay/GuppyMMA.d.ts +11 -0
- package/dist/indicators/overlay/GuppyMMA.d.ts.map +1 -0
- package/dist/indicators/overlay/HullMA.d.ts +2 -9
- package/dist/indicators/overlay/HullMA.d.ts.map +1 -1
- package/dist/indicators/overlay/Ichimoku.d.ts +2 -12
- package/dist/indicators/overlay/Ichimoku.d.ts.map +1 -1
- package/dist/indicators/overlay/KAMA.d.ts +15 -0
- package/dist/indicators/overlay/KAMA.d.ts.map +1 -0
- package/dist/indicators/overlay/KeltnerChannel.d.ts +2 -11
- package/dist/indicators/overlay/KeltnerChannel.d.ts.map +1 -1
- package/dist/indicators/overlay/LSMA.d.ts +19 -0
- package/dist/indicators/overlay/LSMA.d.ts.map +1 -0
- package/dist/indicators/overlay/LinearRegressionChannel.d.ts +2 -10
- package/dist/indicators/overlay/LinearRegressionChannel.d.ts.map +1 -1
- package/dist/indicators/overlay/MACross.d.ts +9 -0
- package/dist/indicators/overlay/MACross.d.ts.map +1 -0
- package/dist/indicators/overlay/MARibbon.d.ts +8 -0
- package/dist/indicators/overlay/MARibbon.d.ts.map +1 -0
- package/dist/indicators/overlay/MTFMovingAverage.d.ts +2 -10
- package/dist/indicators/overlay/MTFMovingAverage.d.ts.map +1 -1
- package/dist/indicators/overlay/McGinleyDynamic.d.ts +13 -0
- package/dist/indicators/overlay/McGinleyDynamic.d.ts.map +1 -0
- package/dist/indicators/overlay/ParabolicSAR.d.ts +2 -10
- package/dist/indicators/overlay/ParabolicSAR.d.ts.map +1 -1
- package/dist/indicators/overlay/PivotPoints.d.ts +2 -9
- package/dist/indicators/overlay/PivotPoints.d.ts.map +1 -1
- package/dist/indicators/overlay/SMA.d.ts +2 -9
- package/dist/indicators/overlay/SMA.d.ts.map +1 -1
- package/dist/indicators/overlay/SMMA.d.ts +13 -0
- package/dist/indicators/overlay/SMMA.d.ts.map +1 -0
- package/dist/indicators/overlay/SessionVWAP.d.ts +2 -9
- package/dist/indicators/overlay/SessionVWAP.d.ts.map +1 -1
- package/dist/indicators/overlay/StandardErrorBands.d.ts +12 -0
- package/dist/indicators/overlay/StandardErrorBands.d.ts.map +1 -0
- package/dist/indicators/overlay/Supertrend.d.ts +2 -10
- package/dist/indicators/overlay/Supertrend.d.ts.map +1 -1
- package/dist/indicators/overlay/TEMA.d.ts +2 -9
- package/dist/indicators/overlay/TEMA.d.ts.map +1 -1
- package/dist/indicators/overlay/VWAP.d.ts +2 -7
- package/dist/indicators/overlay/VWAP.d.ts.map +1 -1
- package/dist/indicators/overlay/VWMA.d.ts +2 -9
- package/dist/indicators/overlay/VWMA.d.ts.map +1 -1
- package/dist/indicators/overlay/WMA.d.ts +2 -9
- package/dist/indicators/overlay/WMA.d.ts.map +1 -1
- package/dist/indicators/overlay/WilliamsFractals.d.ts +15 -0
- package/dist/indicators/overlay/WilliamsFractals.d.ts.map +1 -0
- package/dist/indicators/overlay/ZigZag.d.ts +2 -9
- package/dist/indicators/overlay/ZigZag.d.ts.map +1 -1
- package/dist/indicators/panel/ADX.d.ts +2 -10
- package/dist/indicators/panel/ADX.d.ts.map +1 -1
- package/dist/indicators/panel/ATR.d.ts +2 -10
- package/dist/indicators/panel/ATR.d.ts.map +1 -1
- package/dist/indicators/panel/AcceleratorOscillator.d.ts +5 -10
- package/dist/indicators/panel/AcceleratorOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/AccumulationDistribution.d.ts +2 -8
- package/dist/indicators/panel/AccumulationDistribution.d.ts.map +1 -1
- package/dist/indicators/panel/Aroon.d.ts +2 -10
- package/dist/indicators/panel/Aroon.d.ts.map +1 -1
- package/dist/indicators/panel/AverageDayRange.d.ts +9 -0
- package/dist/indicators/panel/AverageDayRange.d.ts.map +1 -0
- package/dist/indicators/panel/AwesomeOscillator.d.ts +2 -11
- package/dist/indicators/panel/AwesomeOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/BalanceOfPower.d.ts +2 -10
- package/dist/indicators/panel/BalanceOfPower.d.ts.map +1 -1
- package/dist/indicators/panel/BollingerBandWidth.d.ts +18 -0
- package/dist/indicators/panel/BollingerBandWidth.d.ts.map +1 -0
- package/dist/indicators/panel/BollingerPercentB.d.ts +21 -0
- package/dist/indicators/panel/BollingerPercentB.d.ts.map +1 -0
- package/dist/indicators/panel/CCI.d.ts +2 -10
- package/dist/indicators/panel/CCI.d.ts.map +1 -1
- package/dist/indicators/panel/CMF.d.ts +2 -10
- package/dist/indicators/panel/CMF.d.ts.map +1 -1
- package/dist/indicators/panel/ChaikinOscillator.d.ts +2 -11
- package/dist/indicators/panel/ChaikinOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/ChaikinVolatility.d.ts +2 -11
- package/dist/indicators/panel/ChaikinVolatility.d.ts.map +1 -1
- package/dist/indicators/panel/ChandeMomentum.d.ts +2 -10
- package/dist/indicators/panel/ChandeMomentum.d.ts.map +1 -1
- package/dist/indicators/panel/ChoppinessIndex.d.ts +2 -10
- package/dist/indicators/panel/ChoppinessIndex.d.ts.map +1 -1
- package/dist/indicators/panel/ConnorsRSI.d.ts +2 -12
- package/dist/indicators/panel/ConnorsRSI.d.ts.map +1 -1
- package/dist/indicators/panel/Coppock.d.ts +2 -12
- package/dist/indicators/panel/Coppock.d.ts.map +1 -1
- package/dist/indicators/panel/DetrendedPriceOscillator.d.ts +2 -10
- package/dist/indicators/panel/DetrendedPriceOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/DisparityIndex.d.ts +2 -10
- package/dist/indicators/panel/DisparityIndex.d.ts.map +1 -1
- package/dist/indicators/panel/EaseOfMovement.d.ts +2 -12
- package/dist/indicators/panel/EaseOfMovement.d.ts.map +1 -1
- package/dist/indicators/panel/ElderRay.d.ts +3 -9
- package/dist/indicators/panel/ElderRay.d.ts.map +1 -1
- package/dist/indicators/panel/FisherTransform.d.ts +2 -10
- package/dist/indicators/panel/FisherTransform.d.ts.map +1 -1
- package/dist/indicators/panel/ForceIndex.d.ts +2 -10
- package/dist/indicators/panel/ForceIndex.d.ts.map +1 -1
- package/dist/indicators/panel/HistoricalVolatility.d.ts +22 -0
- package/dist/indicators/panel/HistoricalVolatility.d.ts.map +1 -0
- package/dist/indicators/panel/KST.d.ts +2 -18
- package/dist/indicators/panel/KST.d.ts.map +1 -1
- package/dist/indicators/panel/Klinger.d.ts +2 -12
- package/dist/indicators/panel/Klinger.d.ts.map +1 -1
- package/dist/indicators/panel/LinearRegressionSlope.d.ts +9 -0
- package/dist/indicators/panel/LinearRegressionSlope.d.ts.map +1 -0
- package/dist/indicators/panel/MACD.d.ts +2 -12
- package/dist/indicators/panel/MACD.d.ts.map +1 -1
- package/dist/indicators/panel/MFI.d.ts +2 -10
- package/dist/indicators/panel/MFI.d.ts.map +1 -1
- package/dist/indicators/panel/MassIndex.d.ts +2 -11
- package/dist/indicators/panel/MassIndex.d.ts.map +1 -1
- package/dist/indicators/panel/Momentum.d.ts +9 -0
- package/dist/indicators/panel/Momentum.d.ts.map +1 -0
- package/dist/indicators/panel/NetVolume.d.ts +11 -0
- package/dist/indicators/panel/NetVolume.d.ts.map +1 -0
- package/dist/indicators/panel/OBV.d.ts +2 -8
- package/dist/indicators/panel/OBV.d.ts.map +1 -1
- package/dist/indicators/panel/PercentagePriceOscillator.d.ts +2 -12
- package/dist/indicators/panel/PercentagePriceOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/PrettyGoodOscillator.d.ts +2 -10
- package/dist/indicators/panel/PrettyGoodOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/PriceVolumeTrend.d.ts +2 -8
- package/dist/indicators/panel/PriceVolumeTrend.d.ts.map +1 -1
- package/dist/indicators/panel/Qstick.d.ts +2 -10
- package/dist/indicators/panel/Qstick.d.ts.map +1 -1
- package/dist/indicators/panel/ROC.d.ts +2 -10
- package/dist/indicators/panel/ROC.d.ts.map +1 -1
- package/dist/indicators/panel/RSI.d.ts +2 -10
- package/dist/indicators/panel/RSI.d.ts.map +1 -1
- package/dist/indicators/panel/RelativeMomentumIndex.d.ts +2 -11
- package/dist/indicators/panel/RelativeMomentumIndex.d.ts.map +1 -1
- package/dist/indicators/panel/RelativeVigor.d.ts +2 -10
- package/dist/indicators/panel/RelativeVigor.d.ts.map +1 -1
- package/dist/indicators/panel/RelativeVolatilityIndex.d.ts +12 -0
- package/dist/indicators/panel/RelativeVolatilityIndex.d.ts.map +1 -0
- package/dist/indicators/panel/SchaffTrendCycle.d.ts +2 -12
- package/dist/indicators/panel/SchaffTrendCycle.d.ts.map +1 -1
- package/dist/indicators/panel/StandardError.d.ts +9 -0
- package/dist/indicators/panel/StandardError.d.ts.map +1 -0
- package/dist/indicators/panel/StdDev.d.ts +2 -10
- package/dist/indicators/panel/StdDev.d.ts.map +1 -1
- package/dist/indicators/panel/Stochastic.d.ts +2 -12
- package/dist/indicators/panel/Stochastic.d.ts.map +1 -1
- package/dist/indicators/panel/StochasticMomentumIndex.d.ts +12 -0
- package/dist/indicators/panel/StochasticMomentumIndex.d.ts.map +1 -0
- package/dist/indicators/panel/StochasticRSI.d.ts +2 -13
- package/dist/indicators/panel/StochasticRSI.d.ts.map +1 -1
- package/dist/indicators/panel/TRIX.d.ts +2 -11
- package/dist/indicators/panel/TRIX.d.ts.map +1 -1
- package/dist/indicators/panel/TSI.d.ts +2 -12
- package/dist/indicators/panel/TSI.d.ts.map +1 -1
- package/dist/indicators/panel/TrendStrengthIndex.d.ts +9 -0
- package/dist/indicators/panel/TrendStrengthIndex.d.ts.map +1 -0
- package/dist/indicators/panel/UlcerIndex.d.ts +15 -0
- package/dist/indicators/panel/UlcerIndex.d.ts.map +1 -0
- package/dist/indicators/panel/UltimateOscillator.d.ts +2 -12
- package/dist/indicators/panel/UltimateOscillator.d.ts.map +1 -1
- package/dist/indicators/panel/VROC.d.ts +2 -10
- package/dist/indicators/panel/VROC.d.ts.map +1 -1
- package/dist/indicators/panel/VolumeDelta.d.ts +2 -10
- package/dist/indicators/panel/VolumeDelta.d.ts.map +1 -1
- package/dist/indicators/panel/VolumeOscillator.d.ts +11 -0
- package/dist/indicators/panel/VolumeOscillator.d.ts.map +1 -0
- package/dist/indicators/panel/VolumeProfile.d.ts +2 -9
- package/dist/indicators/panel/VolumeProfile.d.ts.map +1 -1
- package/dist/indicators/panel/Vortex.d.ts +2 -10
- package/dist/indicators/panel/Vortex.d.ts.map +1 -1
- package/dist/indicators/panel/WilliamsAD.d.ts +2 -10
- package/dist/indicators/panel/WilliamsAD.d.ts.map +1 -1
- package/dist/indicators/panel/WilliamsR.d.ts +2 -10
- package/dist/indicators/panel/WilliamsR.d.ts.map +1 -1
- package/dist/indicators/plots.d.ts +49 -0
- package/dist/indicators/plots.d.ts.map +1 -0
- package/dist/indicators/registry.d.ts.map +1 -1
- package/dist/indicators/sources.d.ts +37 -0
- package/dist/indicators/sources.d.ts.map +1 -0
- package/dist/indicators/symbols/SymbolSeriesStore.d.ts +21 -0
- package/dist/indicators/symbols/SymbolSeriesStore.d.ts.map +1 -0
- package/dist/indicators/symbols/symbolIndicators.d.ts +34 -0
- package/dist/indicators/symbols/symbolIndicators.d.ts.map +1 -0
- package/dist/interaction/CrosshairHandler.d.ts +7 -4
- package/dist/interaction/CrosshairHandler.d.ts.map +1 -1
- package/dist/interaction/CrosshairTooltip.d.ts +11 -5
- package/dist/interaction/CrosshairTooltip.d.ts.map +1 -1
- package/dist/interaction/InteractionManager.d.ts +63 -1
- package/dist/interaction/InteractionManager.d.ts.map +1 -1
- package/dist/interaction/PaneResizeHandler.d.ts.map +1 -1
- package/dist/interaction/PinnedTooltip.d.ts +9 -1
- package/dist/interaction/PinnedTooltip.d.ts.map +1 -1
- package/dist/interaction/PriceAxisAddButton.d.ts +17 -0
- package/dist/interaction/PriceAxisAddButton.d.ts.map +1 -0
- package/dist/interaction/ZoomHandler.d.ts +8 -0
- package/dist/interaction/ZoomHandler.d.ts.map +1 -1
- package/dist/interaction/index.d.ts +2 -0
- package/dist/interaction/index.d.ts.map +1 -1
- package/dist/realtime/CurrentPriceLine.d.ts.map +1 -1
- package/dist/realtime/StreamManager.d.ts +5 -0
- package/dist/realtime/StreamManager.d.ts.map +1 -1
- package/dist/realtime/TickAggregator.d.ts.map +1 -1
- package/dist/realtime/TickBars.d.ts +58 -0
- package/dist/realtime/TickBars.d.ts.map +1 -0
- package/dist/realtime/adapters/BinanceAdapter.d.ts +24 -1
- package/dist/realtime/adapters/BinanceAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/BybitAdapter.d.ts +3 -1
- package/dist/realtime/adapters/BybitAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/CoinbaseAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/KrakenAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/MockAdapter.d.ts +19 -1
- package/dist/realtime/adapters/MockAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/PollingAdapter.d.ts +14 -1
- package/dist/realtime/adapters/PollingAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/ResamplingAdapter.d.ts +84 -0
- package/dist/realtime/adapters/ResamplingAdapter.d.ts.map +1 -0
- package/dist/realtime/adapters/WebSocketAdapter.d.ts +14 -1
- package/dist/realtime/adapters/WebSocketAdapter.d.ts.map +1 -1
- package/dist/realtime/adapters/binanceTypes.d.ts +10 -1
- package/dist/realtime/adapters/binanceTypes.d.ts.map +1 -1
- package/dist/realtime/adapters/index.d.ts +1 -0
- package/dist/realtime/adapters/index.d.ts.map +1 -1
- package/dist/realtime/index.d.ts +1 -0
- package/dist/realtime/index.d.ts.map +1 -1
- package/dist/trading/BracketTool.d.ts.map +1 -1
- package/dist/trading/OrderDraftTool.d.ts.map +1 -1
- package/dist/trading/OrderRenderer.d.ts +2 -1
- package/dist/trading/OrderRenderer.d.ts.map +1 -1
- package/dist/trading/PaperExecutionAdapter.d.ts +17 -3
- package/dist/trading/PaperExecutionAdapter.d.ts.map +1 -1
- package/dist/trading/PositionRenderer.d.ts +6 -1
- package/dist/trading/PositionRenderer.d.ts.map +1 -1
- package/dist/trading/TradingContextMenu.d.ts +1 -1
- package/dist/trading/TradingContextMenu.d.ts.map +1 -1
- package/dist/trading/TradingDragHandler.d.ts.map +1 -1
- package/dist/trading/TradingManager.d.ts +26 -2
- package/dist/trading/TradingManager.d.ts.map +1 -1
- package/dist/trading/TradingRenderer.d.ts +2 -0
- package/dist/trading/TradingRenderer.d.ts.map +1 -1
- package/dist/trading/fillMarks.d.ts +14 -0
- package/dist/trading/fillMarks.d.ts.map +1 -0
- package/dist/trading/lineButtons.d.ts +31 -0
- package/dist/trading/lineButtons.d.ts.map +1 -0
- package/dist/trading/plot.d.ts +4 -0
- package/dist/trading/plot.d.ts.map +1 -0
- package/dist/trading/positionFormat.d.ts +1 -1
- package/dist/trading/positionFormat.d.ts.map +1 -1
- package/dist/ui/BarCountdown.d.ts.map +1 -1
- package/dist/ui/PriceLines.d.ts +38 -0
- package/dist/ui/PriceLines.d.ts.map +1 -0
- package/dist/ui/SessionBreaks.d.ts +14 -1
- package/dist/ui/SessionBreaks.d.ts.map +1 -1
- package/dist/ui/SessionShading.d.ts +5 -0
- package/dist/ui/SessionShading.d.ts.map +1 -1
- package/dist/ui/Watermark.d.ts +2 -0
- package/dist/ui/Watermark.d.ts.map +1 -1
- package/dist/ui/axisValueLabels.d.ts +52 -0
- package/dist/ui/axisValueLabels.d.ts.map +1 -0
- package/dist/ui/index.d.ts +7 -1
- package/dist/ui/index.d.ts.map +1 -1
- package/dist/ui/sessionHours.d.ts +12 -2
- package/dist/ui/sessionHours.d.ts.map +1 -1
- package/dist/ui/shapes.d.ts +9 -0
- package/dist/ui/shapes.d.ts.map +1 -0
- package/dist/viewport/Viewport.d.ts +35 -2
- package/dist/viewport/Viewport.d.ts.map +1 -1
- package/dist/viewport/index.d.ts +1 -1
- package/dist/viewport/index.d.ts.map +1 -1
- package/dist/viewport/rangePresets.d.ts +4 -2
- package/dist/viewport/rangePresets.d.ts.map +1 -1
- package/dist/webgl/WebGLSeriesRenderer.d.ts +70 -0
- package/dist/webgl/WebGLSeriesRenderer.d.ts.map +1 -0
- package/dist/webgl/commandDrawer.d.ts +31 -0
- package/dist/webgl/commandDrawer.d.ts.map +1 -0
- package/dist/webgl/glColor.d.ts +13 -0
- package/dist/webgl/glColor.d.ts.map +1 -0
- package/dist/webgl/glKit.d.ts +26 -0
- package/dist/webgl/glKit.d.ts.map +1 -0
- package/dist/webgl/index.d.ts +5 -0
- package/dist/webgl/index.d.ts.map +1 -0
- package/dist/webgl/polygonSpans.d.ts +20 -0
- package/dist/webgl/polygonSpans.d.ts.map +1 -0
- package/dist/webgl/recordedCommands.d.ts +75 -0
- package/dist/webgl/recordedCommands.d.ts.map +1 -0
- package/dist/webgl/recordedPath.d.ts +51 -0
- package/dist/webgl/recordedPath.d.ts.map +1 -0
- package/dist/webgl/recordedShaders.d.ts +38 -0
- package/dist/webgl/recordedShaders.d.ts.map +1 -0
- package/dist/webgl/recorder.d.ts +67 -0
- package/dist/webgl/recorder.d.ts.map +1 -0
- package/dist/webgl/seriesUploads.d.ts +40 -0
- package/dist/webgl/seriesUploads.d.ts.map +1 -0
- package/dist/webgl/shaders.d.ts +39 -0
- package/dist/webgl/shaders.d.ts.map +1 -0
- package/dist/webgl/strokeGeometry.d.ts +28 -0
- package/dist/webgl/strokeGeometry.d.ts.map +1 -0
- package/dist/webgl/yMapping.d.ts +32 -0
- package/dist/webgl/yMapping.d.ts.map +1 -0
- package/package.json +2 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/charts/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACnH,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,cAAc,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/charts/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,YAAY,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,sBAAsB,EAAE,SAAS,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AACnH,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACnH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,OAAO,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAC/F,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAClD,cAAc,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Drawing on whole device pixels. The chart draws in CSS pixels under the
|
|
3
|
+
* device-pixel-ratio transform, so a 1 px line at a fractional position
|
|
4
|
+
* spreads over two device pixels at half strength and looks soft and thick.
|
|
5
|
+
* Bars drawn here go back to the canvas's own pixels and round to them: a
|
|
6
|
+
* wick is one sharp column, a body has hard edges, at any ratio (1, 1.25, 2…).
|
|
7
|
+
*/
|
|
8
|
+
/** CSS to device-pixel mapping, rounded to whole pixels. */
|
|
9
|
+
export interface PixelGrid {
|
|
10
|
+
/** Device pixels per CSS pixel. */
|
|
11
|
+
ratio: number;
|
|
12
|
+
/** The device pixel a CSS x falls on. */
|
|
13
|
+
x(cssX: number): number;
|
|
14
|
+
/** The device pixel a CSS y falls on. */
|
|
15
|
+
y(cssY: number): number;
|
|
16
|
+
/**
|
|
17
|
+
* Left edge (device px) of a column `width` device pixels wide centred on
|
|
18
|
+
* CSS x `cssCenter`: the same column `crispX` strokes for a line there.
|
|
19
|
+
*/
|
|
20
|
+
left(cssCenter: number, width: number): number;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Run `draw` with the transform reset to device pixels, then put it back.
|
|
24
|
+
* A context without a readable transform (a test stand-in) is taken as 1:1.
|
|
25
|
+
*/
|
|
26
|
+
export declare function inDevicePixels<T>(ctx: CanvasRenderingContext2D, draw: (grid: PixelGrid) => T): T;
|
|
27
|
+
/**
|
|
28
|
+
* A bar's columns in device pixels: the wick one CSS pixel wide (at least one
|
|
29
|
+
* device pixel), the body about the bar's width, with an even difference so
|
|
30
|
+
* the wick sits exactly in the middle.
|
|
31
|
+
*/
|
|
32
|
+
export declare function barColumns(barWidth: number, ratio: number): {
|
|
33
|
+
body: number;
|
|
34
|
+
wick: number;
|
|
35
|
+
};
|
|
36
|
+
/**
|
|
37
|
+
* A horizontal line's y and width, snapped so the stroke covers whole device
|
|
38
|
+
* pixels: one sharp row instead of a soft two-pixel smear.
|
|
39
|
+
*/
|
|
40
|
+
export declare function crispY(ctx: CanvasRenderingContext2D, y: number, width: number): {
|
|
41
|
+
y: number;
|
|
42
|
+
width: number;
|
|
43
|
+
};
|
|
44
|
+
/** A vertical line's x and width, snapped like `crispY`. */
|
|
45
|
+
export declare function crispX(ctx: CanvasRenderingContext2D, x: number, width: number): {
|
|
46
|
+
x: number;
|
|
47
|
+
width: number;
|
|
48
|
+
};
|
|
49
|
+
//# sourceMappingURL=pixelGrid.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pixelGrid.d.ts","sourceRoot":"","sources":["../../src/charts/pixelGrid.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAYH,4DAA4D;AAC5D,MAAM,WAAW,SAAS;IACxB,mCAAmC;IACnC,KAAK,EAAE,MAAM,CAAC;IACd,yCAAyC;IACzC,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB,yCAAyC;IACzC,CAAC,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACxB;;;OAGG;IACH,IAAI,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAChD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAAE,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,CAAC,GAAG,CAAC,CAchG;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAK1F;AASD;;;GAGG;AACH,wBAAgB,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAI5G;AAED,4DAA4D;AAC5D,wBAAgB,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG;IAAE,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAI5G"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
import { DataSeries } from '@tradecanvas/commons';
|
|
2
2
|
/**
|
|
3
3
|
* Kagi chart.
|
|
4
|
-
* Changes direction when price reverses by the reversal amount
|
|
4
|
+
* Changes direction when price reverses by the reversal amount: `reversal`
|
|
5
|
+
* percent of the line's start, or `reversal` itself with `mode` 'price'.
|
|
5
6
|
* Thick lines (yang) for uptrends, thin lines (yin) for downtrends.
|
|
6
7
|
*/
|
|
7
|
-
export declare function toKagi(data: DataSeries,
|
|
8
|
+
export declare function toKagi(data: DataSeries, reversal?: number, mode?: 'percent' | 'price'): DataSeries;
|
|
8
9
|
//# sourceMappingURL=kagi.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"kagi.d.ts","sourceRoot":"","sources":["../../../src/charts/transforms/kagi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEhE
|
|
1
|
+
{"version":3,"file":"kagi.d.ts","sourceRoot":"","sources":["../../../src/charts/transforms/kagi.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,UAAU,EAAE,QAAQ,SAAI,EAAE,IAAI,GAAE,SAAS,GAAG,OAAmB,GAAG,UAAU,CA2DxG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renko.d.ts","sourceRoot":"","sources":["../../../src/charts/transforms/renko.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,
|
|
1
|
+
{"version":3,"file":"renko.d.ts","sourceRoot":"","sources":["../../../src/charts/transforms/renko.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAW,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,WAAW,GAAG,UAAU,CAqCzE"}
|
|
@@ -1,12 +1,45 @@
|
|
|
1
|
-
import { DrawingPlugin, DrawingDescriptor, DrawingState, DrawingStyle, Point, ViewportState, AnchorPoint } from '@tradecanvas/commons';
|
|
1
|
+
import { DrawingPlugin, DrawingDescriptor, DrawingLevel, DrawingOptionValue, DrawingState, DrawingStyle, Point, ViewportState, AnchorPoint } from '@tradecanvas/commons';
|
|
2
|
+
/**
|
|
3
|
+
* How a line is straight on the chart: along `at` (a time's bar position, or
|
|
4
|
+
* the time itself) and `value` (log price on a log scale, else price).
|
|
5
|
+
*/
|
|
6
|
+
export interface LineSpace {
|
|
7
|
+
at(time: number): number;
|
|
8
|
+
value(price: number): number;
|
|
9
|
+
price(value: number): number;
|
|
10
|
+
}
|
|
11
|
+
/** The space lines are straight in on this chart; plain time and price without a viewport. */
|
|
12
|
+
export declare function lineSpace(viewport?: ViewportState): LineSpace;
|
|
13
|
+
/** How far `point` is from the segment `p1`–`p2` (px). */
|
|
14
|
+
export declare function distanceToSegment(point: Point, p1: Point, p2: Point): number;
|
|
15
|
+
/** Whether `point` is within `tolerance` of the line through `pts` (and back to the start, with `close`). */
|
|
16
|
+
export declare function nearPolyline(point: Point, pts: readonly Point[], tolerance: number, close?: boolean): boolean;
|
|
2
17
|
export declare abstract class DrawingBase implements DrawingPlugin {
|
|
3
18
|
abstract descriptor: DrawingDescriptor;
|
|
4
19
|
abstract render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
5
20
|
abstract hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
6
21
|
hitTestAnchor(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): number;
|
|
22
|
+
/** One of the drawing's options (see `descriptor.options`), its default when unset. */
|
|
23
|
+
protected option<T extends DrawingOptionValue>(state: DrawingState, key: string): T;
|
|
24
|
+
/** The levels turned on, in order. */
|
|
25
|
+
protected visibleLevels(state: DrawingState, key?: string): DrawingLevel[];
|
|
26
|
+
/** The line from `p1` to `p2`, carried to the edge of the chart past either end when asked. */
|
|
27
|
+
protected extendLine(p1: Point, p2: Point, viewport: ViewportState, left: boolean, right: boolean): [Point, Point];
|
|
28
|
+
/**
|
|
29
|
+
* The price on the line through `a` and `b` at `time`: between the anchors,
|
|
30
|
+
* or past `a` / past `b` when the line is extended that way. Null elsewhere,
|
|
31
|
+
* or for a vertical line. `space` is the one the line is straight in.
|
|
32
|
+
*/
|
|
33
|
+
protected linePriceAt(a: AnchorPoint, b: AnchorPoint, time: number, pastA: boolean, pastB: boolean, space?: LineSpace): number | null;
|
|
34
|
+
/** `linePriceAt` in `space`'s values (log price on a log scale). */
|
|
35
|
+
protected lineValueAt(a: AnchorPoint, b: AnchorPoint, time: number, pastA: boolean, pastB: boolean, space: LineSpace): number | null;
|
|
7
36
|
protected anchorToPixel(anchor: AnchorPoint, viewport: ViewportState): Point;
|
|
8
37
|
protected pixelToAnchor(point: Point, viewport: ViewportState): AnchorPoint;
|
|
9
38
|
protected applyLineStyle(ctx: CanvasRenderingContext2D, style: DrawingStyle): void;
|
|
39
|
+
/** A horizontal line from `x0` to `x1` at `y`, on whole device pixels (sharp, not smeared). */
|
|
40
|
+
protected strokeHorizontal(ctx: CanvasRenderingContext2D, x0: number, x1: number, y: number): void;
|
|
41
|
+
/** A vertical line from `y0` to `y1` at `x`, on whole device pixels. */
|
|
42
|
+
protected strokeVertical(ctx: CanvasRenderingContext2D, x: number, y0: number, y1: number): void;
|
|
10
43
|
protected resetLineStyle(ctx: CanvasRenderingContext2D): void;
|
|
11
44
|
protected renderAnchorHandles(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState): void;
|
|
12
45
|
protected distanceToLine(point: Point, p1: Point, p2: Point): number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingBase.d.ts","sourceRoot":"","sources":["../../src/drawings/DrawingBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,aAAa,EACb,WAAW,EACZ,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DrawingBase.d.ts","sourceRoot":"","sources":["../../src/drawings/DrawingBase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,iBAAiB,EACjB,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,YAAY,EACZ,KAAK,EACL,aAAa,EACb,WAAW,EACZ,MAAM,sBAAsB,CAAC;AAI9B;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACzB,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IAC7B,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC9B;AAID,8FAA8F;AAC9F,wBAAgB,SAAS,CAAC,QAAQ,CAAC,EAAE,aAAa,GAAG,SAAS,CAS7D;AAED,0DAA0D;AAC1D,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,CAO5E;AAED,6GAA6G;AAC7G,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,UAAQ,GAAG,OAAO,CAK3G;AAYD,8BAAsB,WAAY,YAAW,aAAa;IACxD,QAAQ,CAAC,UAAU,EAAE,iBAAiB,CAAC;IAEvC,QAAQ,CAAC,MAAM,CACb,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,OAAO,GAChB,IAAI;IAEP,QAAQ,CAAC,OAAO,CACd,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,GAChB,OAAO;IAEV,aAAa,CACX,KAAK,EAAE,KAAK,EACZ,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,aAAa,EACvB,SAAS,EAAE,MAAM,GAChB,MAAM;IAST,uFAAuF;IACvF,SAAS,CAAC,MAAM,CAAC,CAAC,SAAS,kBAAkB,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC;IAUnF,sCAAsC;IACtC,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,SAAW,GAAG,YAAY,EAAE;IAI5E,+FAA+F;IAC/F,SAAS,CAAC,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC;IAclH;;;;OAIG;IACH,SAAS,CAAC,WAAW,CACnB,CAAC,EAAE,WAAW,EACd,CAAC,EAAE,WAAW,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,KAAK,GAAE,SAAuB,GAC7B,MAAM,GAAG,IAAI;IAKhB,oEAAoE;IACpE,SAAS,CAAC,WAAW,CACnB,CAAC,EAAE,WAAW,EACd,CAAC,EAAE,WAAW,EACd,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,OAAO,EACd,KAAK,EAAE,SAAS,GACf,MAAM,GAAG,IAAI;IAUhB,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK;IAM5E,SAAS,CAAC,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,GAAG,WAAW;IAM3E,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,GAAG,IAAI;IAelF,+FAA+F;IAC/F,SAAS,CAAC,gBAAgB,CAAC,GAAG,EAAE,wBAAwB,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IASlG,wEAAwE;IACxE,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,wBAAwB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,IAAI;IAShG,SAAS,CAAC,cAAc,CAAC,GAAG,EAAE,wBAAwB,GAAG,IAAI;IAM7D,SAAS,CAAC,mBAAmB,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,IAAI;IAYhH,SAAS,CAAC,cAAc,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM;IAIpE,SAAS,CAAC,sBAAsB,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM;CAO7E"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { AnchorPoint, DrawingPlugin, DrawingState, Point } from '@tradecanvas/commons';
|
|
2
|
+
/** What a press, move or release did to the drawing being made. */
|
|
3
|
+
export type CreationStep = 'continue' | 'done' | 'cancel';
|
|
4
|
+
/** Most points a freehand stroke keeps. */
|
|
5
|
+
export declare const MAX_FREEHAND_POINTS = 2000;
|
|
6
|
+
/** Most points a path takes unless its tool says otherwise. */
|
|
7
|
+
export declare const MAX_PATH_POINTS = 100;
|
|
8
|
+
/**
|
|
9
|
+
* The drawing being made with the pointer, for each way a tool is drawn
|
|
10
|
+
* (`DrawingDescriptor.creation`):
|
|
11
|
+
* - clicks: a click per anchor until it has `requiredAnchors`;
|
|
12
|
+
* - freehand: press and drag, a point every few pixels, release to finish;
|
|
13
|
+
* - path: a click per point; a double-click, Enter or a click on the last
|
|
14
|
+
* point finishes it.
|
|
15
|
+
*/
|
|
16
|
+
export declare class DrawingCreator {
|
|
17
|
+
private drawing;
|
|
18
|
+
private plugin;
|
|
19
|
+
private preview;
|
|
20
|
+
private lastPos;
|
|
21
|
+
private dragging;
|
|
22
|
+
/** Pixels between freehand points; doubled each time the stroke is thinned. */
|
|
23
|
+
private step;
|
|
24
|
+
/** The drawing being made (its committed anchors), or null. */
|
|
25
|
+
get current(): DrawingState | null;
|
|
26
|
+
reset(): void;
|
|
27
|
+
/**
|
|
28
|
+
* A press at `anchor` (at `pos` on screen). `start` makes the drawing on the
|
|
29
|
+
* first one. `onScreen` puts an anchor where it is now, so a path ends on a
|
|
30
|
+
* click on its last point even after the chart was panned.
|
|
31
|
+
*/
|
|
32
|
+
press(plugin: DrawingPlugin, start: () => DrawingState, anchor: AnchorPoint, pos: Point, onScreen?: (anchor: AnchorPoint) => Point): CreationStep;
|
|
33
|
+
/** The pointer moved: a freehand stroke takes a point, others show where the next anchor would go. */
|
|
34
|
+
move(anchor: AnchorPoint, pos: Point): boolean;
|
|
35
|
+
/** The press ended: a freehand stroke is done (or dropped, when it never moved). */
|
|
36
|
+
release(): CreationStep | null;
|
|
37
|
+
/**
|
|
38
|
+
* Take back the last point clicked (Ctrl+Z while drawing). False when there
|
|
39
|
+
* was only the first one: the drawing is dropped then.
|
|
40
|
+
*/
|
|
41
|
+
undoPoint(): boolean;
|
|
42
|
+
/** End a path here (Enter, or a double-click): done when it has enough points. */
|
|
43
|
+
finish(): CreationStep;
|
|
44
|
+
/** The drawing as shown while it is made: its anchors, and the one under the pointer. */
|
|
45
|
+
previewState(): DrawingState | null;
|
|
46
|
+
/** Take the finished drawing; the creator is empty after. */
|
|
47
|
+
take(): DrawingState | null;
|
|
48
|
+
private hasEnough;
|
|
49
|
+
private commit;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=DrawingCreator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawingCreator.d.ts","sourceRoot":"","sources":["../../src/drawings/DrawingCreator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE5F,mEAAmE;AACnE,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,CAAC;AAM1D,2CAA2C;AAC3C,eAAO,MAAM,mBAAmB,OAAO,CAAC;AACxC,+DAA+D;AAC/D,eAAO,MAAM,eAAe,MAAM,CAAC;AAMnC;;;;;;;GAOG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,OAAO,CAA6B;IAC5C,OAAO,CAAC,MAAM,CAA8B;IAC5C,OAAO,CAAC,OAAO,CAA4B;IAC3C,OAAO,CAAC,OAAO,CAAsB;IACrC,OAAO,CAAC,QAAQ,CAAS;IACzB,+EAA+E;IAC/E,OAAO,CAAC,IAAI,CAAoB;IAEhC,+DAA+D;IAC/D,IAAI,OAAO,IAAI,YAAY,GAAG,IAAI,CAEjC;IAED,KAAK,IAAI,IAAI;IASb;;;;OAIG;IACH,KAAK,CACH,MAAM,EAAE,aAAa,EACrB,KAAK,EAAE,MAAM,YAAY,EACzB,MAAM,EAAE,WAAW,EACnB,GAAG,EAAE,KAAK,EACV,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,KAAK,GACxC,YAAY;IAyBf,sGAAsG;IACtG,IAAI,CAAC,MAAM,EAAE,WAAW,EAAE,GAAG,EAAE,KAAK,GAAG,OAAO;IAqB9C,oFAAoF;IACpF,OAAO,IAAI,YAAY,GAAG,IAAI;IAM9B;;;OAGG;IACH,SAAS,IAAI,OAAO;IAWpB,kFAAkF;IAClF,MAAM,IAAI,YAAY;IAOtB,yFAAyF;IACzF,YAAY,IAAI,YAAY,GAAG,IAAI;IAOnC,6DAA6D;IAC7D,IAAI,IAAI,YAAY,GAAG,IAAI;IAM3B,OAAO,CAAC,SAAS;IAIjB,OAAO,CAAC,MAAM;CAKf"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { DrawingPlugin, DrawingState, Point, ViewportState } from '@tradecanvas/commons';
|
|
2
|
+
/**
|
|
3
|
+
* Drawings being dragged with the pointer: moved together (a selection), or
|
|
4
|
+
* one reshaped by a handle. Drawings are looked up by id on every move, so
|
|
5
|
+
* an undo or a reload in between leaves nothing stale.
|
|
6
|
+
*/
|
|
7
|
+
export declare class DrawingDrag {
|
|
8
|
+
private readonly find;
|
|
9
|
+
private start;
|
|
10
|
+
/** The handle being dragged, or -1 while moving. */
|
|
11
|
+
private handle;
|
|
12
|
+
private grabbed;
|
|
13
|
+
constructor(find: (id: string) => DrawingState | undefined);
|
|
14
|
+
isActive(): boolean;
|
|
15
|
+
/** Grab drawings to move together; the first is the one under the pointer. */
|
|
16
|
+
beginMove(pos: Point, drawings: readonly DrawingState[]): void;
|
|
17
|
+
/** Grab handle `handle` of a drawing to reshape it. */
|
|
18
|
+
beginResize(pos: Point, drawing: DrawingState, handle: number): void;
|
|
19
|
+
/** Follow the pointer. True when something changed. */
|
|
20
|
+
move(pos: Point, viewport: ViewportState, plugin: DrawingPlugin | undefined): boolean;
|
|
21
|
+
/** Let go: each drawing that changed, with how it was before. */
|
|
22
|
+
end(): {
|
|
23
|
+
before: DrawingState;
|
|
24
|
+
drawing: DrawingState;
|
|
25
|
+
}[];
|
|
26
|
+
/**
|
|
27
|
+
* Move every grabbed drawing by the pointer's travel: whole bars in time
|
|
28
|
+
* (each point keeps its place between bars, and a weekend gap moves like
|
|
29
|
+
* any other bar), and on screen in price (so a log scale keeps the shape).
|
|
30
|
+
*/
|
|
31
|
+
private translate;
|
|
32
|
+
private unmoved;
|
|
33
|
+
/** Put the handle under the pointer: an anchor, or what the tool's `moveHandle` makes of it. */
|
|
34
|
+
private reshape;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=DrawingDrag.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawingDrag.d.ts","sourceRoot":"","sources":["../../src/drawings/DrawingDrag.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,aAAa,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAe3G;;;;GAIG;AACH,qBAAa,WAAW;IAMV,OAAO,CAAC,QAAQ,CAAC,IAAI;IALjC,OAAO,CAAC,KAAK,CAAsB;IACnC,oDAAoD;IACpD,OAAO,CAAC,MAAM,CAAM;IACpB,OAAO,CAAC,OAAO,CAAiB;gBAEH,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,YAAY,GAAG,SAAS;IAE3E,QAAQ,IAAI,OAAO;IAInB,8EAA8E;IAC9E,SAAS,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,YAAY,EAAE,GAAG,IAAI;IAM9D,uDAAuD;IACvD,WAAW,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAMpE,uDAAuD;IACvD,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,aAAa,GAAG,SAAS,GAAG,OAAO;IAKrF,iEAAiE;IACjE,GAAG,IAAI;QAAE,MAAM,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,YAAY,CAAA;KAAE,EAAE;IAWxD;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAwBjB,OAAO,CAAC,OAAO;IAOf,gGAAgG;IAChG,OAAO,CAAC,OAAO;CAehB"}
|
|
@@ -1,26 +1,28 @@
|
|
|
1
|
-
import { DrawingPlugin, DrawingState, DrawingToolType, DrawingStyle, Point, ViewportState, OHLCBar } from '@tradecanvas/commons';
|
|
2
|
-
import { UndoRedoManager } from '../features/UndoRedoManager.js';
|
|
1
|
+
import { DrawingPlugin, DrawingState, DrawingToolType, DrawingStyle, DrawingOptions, DrawingOptionDefs, Point, ViewportState, OHLCBar } from '@tradecanvas/commons';
|
|
2
|
+
import { UndoRedoManager, UndoableAction } from '../features/UndoRedoManager.js';
|
|
3
|
+
import { DrawingOrderMove, DrawingPatch } from './drawingState.js';
|
|
4
|
+
import { MagnetMode } from './magnetSnap.js';
|
|
5
|
+
export type { DrawingOrderMove, DrawingPatch } from './drawingState.js';
|
|
3
6
|
type DrawingEventCallback = (event: string, data: unknown) => void;
|
|
4
7
|
export type DrawingInteractionState = 'idle' | 'creating' | 'selected' | 'moving' | 'resizing';
|
|
5
|
-
export type MagnetMode
|
|
8
|
+
export type { MagnetMode } from './magnetSnap.js';
|
|
6
9
|
export declare class DrawingManager {
|
|
7
10
|
private registry;
|
|
8
11
|
private drawings;
|
|
9
12
|
private state;
|
|
10
13
|
private activeTool;
|
|
11
14
|
private activeStyle;
|
|
12
|
-
|
|
13
|
-
private
|
|
14
|
-
|
|
15
|
-
private
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
/** The drawing being made with the pointer. */
|
|
16
|
+
private creator;
|
|
17
|
+
/** When the last drawing was finished, and the last press that drew (ms). */
|
|
18
|
+
private finishedAt;
|
|
19
|
+
private creationPressAt;
|
|
20
|
+
/** The eraser: a click on a drawing removes it. */
|
|
21
|
+
private eraser;
|
|
22
|
+
private selection;
|
|
18
23
|
/** Start state of the other group members while the group is dragged. */
|
|
19
|
-
|
|
20
|
-
private
|
|
21
|
-
private dragStartPoint;
|
|
22
|
-
private dragStartAnchors;
|
|
23
|
-
private dragBeforeState;
|
|
24
|
+
/** Drawings being moved or reshaped with the pointer. */
|
|
25
|
+
private drag;
|
|
24
26
|
private eventCallback;
|
|
25
27
|
private requestRender;
|
|
26
28
|
private undoRedo;
|
|
@@ -31,41 +33,64 @@ export declare class DrawingManager {
|
|
|
31
33
|
private stayInDrawingMode;
|
|
32
34
|
/** Tools this chart allows (e.g. a whitelist); pasting skips the others. */
|
|
33
35
|
private toolAllowed;
|
|
36
|
+
/** Options new drawings of a tool start with ("save as default"). */
|
|
37
|
+
private toolDefaults;
|
|
38
|
+
/** Drawings being edited (a settings dialog), with their state when the edit began. */
|
|
39
|
+
private edits;
|
|
40
|
+
/** Undo actions gathered by `batchUndo`, pushed as one step when it ends. */
|
|
41
|
+
private batch;
|
|
34
42
|
register(plugin: DrawingPlugin): void;
|
|
35
43
|
setEventCallback(cb: DrawingEventCallback): void;
|
|
36
44
|
setRequestRender(cb: () => void): void;
|
|
37
45
|
setUndoRedoManager(mgr: UndoRedoManager): void;
|
|
38
46
|
setMagnetMode(mode: MagnetMode): void;
|
|
39
47
|
getMagnetMode(): MagnetMode;
|
|
48
|
+
/** The chart's bars, for legacy anchors and the tools drawn from bars. */
|
|
40
49
|
setDataGetter(getter: () => OHLCBar[]): void;
|
|
41
50
|
/** Set a separate getter for display data (e.g. Heikin Ashi transformed). Used by magnet snap. */
|
|
42
51
|
setDisplayDataGetter(getter: () => OHLCBar[]): void;
|
|
43
|
-
/**
|
|
44
|
-
* Snap an in-progress anchor to the closest OHLC value of the underlying
|
|
45
|
-
* bar. `time` is interpreted as a timestamp when `viewport.data` is set
|
|
46
|
-
* (the modern, recommended mode) or as a bar index otherwise. The returned
|
|
47
|
-
* `time` matches the input convention so the caller doesn't need to know.
|
|
48
|
-
*/
|
|
52
|
+
/** Snap a point being placed to the bar under it (see `snapToBar`), on the bars as drawn (Heikin Ashi, say). */
|
|
49
53
|
private snapToOHLC;
|
|
50
54
|
undo(): boolean;
|
|
51
55
|
redo(): boolean;
|
|
56
|
+
/** Steps in the shared history that aren't about drawings (the chart's indicators, steps of its owner). */
|
|
57
|
+
private foreignHistory;
|
|
58
|
+
/** Who undoes and redoes the history's steps that aren't about drawings. */
|
|
59
|
+
setForeignHistory(handler: ((action: UndoableAction, direction: 'undo' | 'redo') => void) | null): void;
|
|
52
60
|
private applyUndoAction;
|
|
61
|
+
private applyRedoAction;
|
|
62
|
+
/**
|
|
63
|
+
* Put the drawings an undo or redo left, and report them: drawingRemove and
|
|
64
|
+
* drawingCreate for drawings gone and back (their alerts follow them),
|
|
65
|
+
* drawingUpdate for changed or reordered ones.
|
|
66
|
+
*/
|
|
67
|
+
private applyHistory;
|
|
53
68
|
/**
|
|
54
69
|
* After undo/redo nothing is selected, and a picked tool (stay-in-drawing
|
|
55
70
|
* mode, or one picked mid-drawing) stays ready for a fresh drawing.
|
|
56
71
|
*/
|
|
57
72
|
private settleAfterHistory;
|
|
58
|
-
|
|
59
|
-
private
|
|
60
|
-
private redoOne;
|
|
73
|
+
/** Record an undo step, or add it to the batch being gathered. */
|
|
74
|
+
private record;
|
|
61
75
|
/**
|
|
62
76
|
* Run `fn`, recording every undo action it pushes as one undo step, so a
|
|
63
|
-
* group move/delete/restyle comes back with a single Ctrl+Z.
|
|
77
|
+
* group move/delete/restyle comes back with a single Ctrl+Z. Nested calls
|
|
78
|
+
* join the outer step.
|
|
64
79
|
*/
|
|
65
80
|
private batchUndo;
|
|
66
|
-
|
|
67
|
-
private
|
|
81
|
+
/** Take drawings out of the selection (hidden or removed); another selected one becomes the primary. */
|
|
82
|
+
private deselect;
|
|
68
83
|
private addToSelection;
|
|
84
|
+
/** The other drawings of `drawing`'s group (selected along with it). */
|
|
85
|
+
private groupMates;
|
|
86
|
+
/**
|
|
87
|
+
* Select a drawing and the rest of its group (a menu opened on it, say). A
|
|
88
|
+
* drawing already in the selection leaves the selection as it is. False
|
|
89
|
+
* for an unknown or hidden drawing, or while a drawing is being drawn.
|
|
90
|
+
*/
|
|
91
|
+
select(id: string): boolean;
|
|
92
|
+
/** Told the selected drawings' ids (the primary first) each time the selection changes. */
|
|
93
|
+
setSelectionListener(listener: ((ids: string[]) => void) | null): void;
|
|
69
94
|
/** Ids of every selected drawing, the primary one first. */
|
|
70
95
|
getSelectedDrawingIds(): string[];
|
|
71
96
|
/**
|
|
@@ -81,15 +106,21 @@ export declare class DrawingManager {
|
|
|
81
106
|
}, viewport: ViewportState): number;
|
|
82
107
|
/** Ctrl/⌘-click: add the drawing under `pos` to the selection, or take it out. */
|
|
83
108
|
toggleSelectionAt(pos: Point, viewport: ViewportState): boolean;
|
|
84
|
-
/** Begin moving `primary` — and every other selected drawing with it. */
|
|
109
|
+
/** Begin moving `primary` — and every other selected drawing that isn't locked with it. */
|
|
85
110
|
private beginMove;
|
|
111
|
+
/** Set drawings' visible or locked flags, as one undo step; hidden ones leave the selection. */
|
|
112
|
+
private setFlags;
|
|
86
113
|
lockAllDrawings(): void;
|
|
87
114
|
unlockAllDrawings(): void;
|
|
88
115
|
hideAllDrawings(): void;
|
|
89
116
|
showAllDrawings(): void;
|
|
90
|
-
/**
|
|
117
|
+
/** Show or hide a drawing (one undo step). Returns the new value, or null if not found. */
|
|
91
118
|
setDrawingVisible(id: string, visible: boolean): boolean | null;
|
|
92
|
-
/**
|
|
119
|
+
/** Show or hide several drawings as one undo step (a selection, say); unknown ids are passed over. */
|
|
120
|
+
setDrawingsVisible(ids: readonly string[], visible: boolean): void;
|
|
121
|
+
/** Lock or unlock several drawings as one undo step. */
|
|
122
|
+
setDrawingsLocked(ids: readonly string[], locked: boolean): void;
|
|
123
|
+
/** Lock or unlock a drawing (one undo step). Returns the new value, or null if not found. */
|
|
93
124
|
setDrawingLocked(id: string, locked: boolean): boolean | null;
|
|
94
125
|
setActiveTool(type: DrawingToolType | null): void;
|
|
95
126
|
/** When on, finishing a drawing keeps its tool active for the next one. */
|
|
@@ -116,9 +147,78 @@ export declare class DrawingManager {
|
|
|
116
147
|
onPointerDown(pos: Point, viewport: ViewportState): boolean;
|
|
117
148
|
onPointerMove(pos: Point, viewport: ViewportState): boolean;
|
|
118
149
|
onPointerUp(): boolean;
|
|
119
|
-
|
|
150
|
+
/**
|
|
151
|
+
* A key for the drawings (see `drawingShortcut`); true when it was used.
|
|
152
|
+
* Pass `shiftKey` so Caps Lock doesn't read as Shift.
|
|
153
|
+
*/
|
|
154
|
+
onKeyDown(key: string, ctrlKey?: boolean, shiftKey?: boolean): boolean;
|
|
155
|
+
/** Escape: put the eraser away, drop the tool being drawn with, else the selection. */
|
|
156
|
+
private escape;
|
|
157
|
+
/** Ungroup every group with a drawing in the selection. */
|
|
158
|
+
private ungroupSelection;
|
|
120
159
|
getDrawings(): DrawingState[];
|
|
121
160
|
setDrawings(states: DrawingState[]): void;
|
|
161
|
+
/**
|
|
162
|
+
* Draw a drawing on top of the others, under them, or one step up or down
|
|
163
|
+
* (one undo step). False when it is unknown or already there.
|
|
164
|
+
*/
|
|
165
|
+
moveDrawing(id: string, to: DrawingOrderMove): boolean;
|
|
166
|
+
/** Every group, its drawings bottom to top. */
|
|
167
|
+
getGroups(): {
|
|
168
|
+
id: string;
|
|
169
|
+
name: string;
|
|
170
|
+
ids: string[];
|
|
171
|
+
}[];
|
|
172
|
+
/** Change every drawing of a group, as one undo step. */
|
|
173
|
+
private updateGroup;
|
|
174
|
+
/**
|
|
175
|
+
* Group drawings (at least two) so they are selected, hidden and locked
|
|
176
|
+
* together; one leaves the group it was in. Returns the group's id, or null.
|
|
177
|
+
*/
|
|
178
|
+
groupDrawings(ids: readonly string[], name?: string): string | null;
|
|
179
|
+
ungroup(groupId: string): boolean;
|
|
180
|
+
renameGroup(groupId: string, name: string): boolean;
|
|
181
|
+
/** Show or hide a group; hidden, it leaves the selection. */
|
|
182
|
+
setGroupVisible(groupId: string, visible: boolean): boolean;
|
|
183
|
+
setGroupLocked(groupId: string, locked: boolean): boolean;
|
|
184
|
+
/**
|
|
185
|
+
* The prices of a drawing's lines at `time` (see `DrawingPlugin.priceAt`),
|
|
186
|
+
* or null; as drawn on `viewport`'s scale when given.
|
|
187
|
+
*/
|
|
188
|
+
priceAt(id: string, time: number, viewport?: ViewportState): number[] | null;
|
|
189
|
+
/** Whether a drawing has lines an alert can cross. */
|
|
190
|
+
hasPriceLevels(id: string): boolean;
|
|
191
|
+
/** A registered tool's descriptor, or null. */
|
|
192
|
+
getDescriptor(type: DrawingToolType): DrawingPlugin['descriptor'] | null;
|
|
193
|
+
/** The options a tool offers (empty for a tool without any). */
|
|
194
|
+
getOptionDefs(type: DrawingToolType): DrawingOptionDefs;
|
|
195
|
+
private optionDefs;
|
|
196
|
+
/** A new drawing's options: the tool's defaults, then `explicit`; undefined when none. */
|
|
197
|
+
private initialOptions;
|
|
198
|
+
/** Options every new drawing of `type` starts with; invalid entries are dropped. */
|
|
199
|
+
setToolDefaults(type: DrawingToolType, options: DrawingOptions | null): void;
|
|
200
|
+
getToolDefaults(type: DrawingToolType): DrawingOptions;
|
|
201
|
+
/** Every option of a drawing, its tool's defaults filled in; empty for an unknown drawing. */
|
|
202
|
+
getDrawingOptions(id: string): DrawingOptions;
|
|
203
|
+
/** Change some of a drawing's options (one undo step). False for an unknown drawing. */
|
|
204
|
+
setDrawingOptions(id: string, options: DrawingOptions): boolean;
|
|
205
|
+
/**
|
|
206
|
+
* Change a drawing's anchors, style or options (one undo step, or part of
|
|
207
|
+
* the edit begun with `beginEdit`). Anchors must be as many as it has, with
|
|
208
|
+
* finite times and prices; options are checked against the tool. Explicit
|
|
209
|
+
* edits apply to locked drawings too: the lock only stops the pointer.
|
|
210
|
+
*/
|
|
211
|
+
updateDrawing(id: string, patch: DrawingPatch): boolean;
|
|
212
|
+
/**
|
|
213
|
+
* Start editing a drawing (a settings dialog previewing changes): the
|
|
214
|
+
* `updateDrawing` calls until `endEdit` become one undo step. False for an
|
|
215
|
+
* unknown drawing.
|
|
216
|
+
*/
|
|
217
|
+
beginEdit(id: string): boolean;
|
|
218
|
+
/** Finish an edit: keep the changes as one undo step, or with `cancel` put the drawing back. */
|
|
219
|
+
endEdit(id: string, { cancel }?: {
|
|
220
|
+
cancel?: boolean;
|
|
221
|
+
}): void;
|
|
122
222
|
/**
|
|
123
223
|
* Append a drawing (assigning a fresh id and applying the active style for any
|
|
124
224
|
* omitted style fields). Records an undo entry. Returns the new id.
|
|
@@ -138,6 +238,11 @@ export declare class DrawingManager {
|
|
|
138
238
|
*/
|
|
139
239
|
private upgradeLegacyAnchors;
|
|
140
240
|
removeDrawing(id: string): void;
|
|
241
|
+
/**
|
|
242
|
+
* Remove drawings as one undo step; locked ones stay. Returns how many
|
|
243
|
+
* went.
|
|
244
|
+
*/
|
|
245
|
+
removeDrawings(ids: readonly string[]): number;
|
|
141
246
|
duplicateDrawing(id: string): string | null;
|
|
142
247
|
clearDrawings(): void;
|
|
143
248
|
getSelectedDrawingId(): string | null;
|
|
@@ -148,7 +253,26 @@ export declare class DrawingManager {
|
|
|
148
253
|
* `n × median bar interval`; otherwise it's just `n` (bar-index mode).
|
|
149
254
|
*/
|
|
150
255
|
private computeBarOffsetTime;
|
|
256
|
+
/** Where a press or move puts an anchor: magnet-snapped, except for a freehand stroke. */
|
|
257
|
+
private creationAnchor;
|
|
151
258
|
private handleCreationClick;
|
|
259
|
+
private afterCreationStep;
|
|
260
|
+
/**
|
|
261
|
+
* Turn the eraser on or off: while on, a click on a drawing (not a locked
|
|
262
|
+
* one) removes it, one undo step each. Picking a tool or Escape turns it off.
|
|
263
|
+
*/
|
|
264
|
+
setEraser(on: boolean): void;
|
|
265
|
+
isEraser(): boolean;
|
|
266
|
+
/** The eraser at `pos`: remove the drawing there. A press off any drawing is left to the chart (a pan). */
|
|
267
|
+
private erase;
|
|
268
|
+
/** The topmost drawing the eraser would take at `pos`: locked ones are passed over. */
|
|
269
|
+
private erasableAt;
|
|
270
|
+
/**
|
|
271
|
+
* Whether a press that drew just finished a drawing: the double-click that
|
|
272
|
+
* ended a path isn't a double-click on it. A drawing finished earlier can be
|
|
273
|
+
* double-clicked straight away.
|
|
274
|
+
*/
|
|
275
|
+
justFinished(withinMs?: number): boolean;
|
|
152
276
|
private finalizeCreation;
|
|
153
277
|
/** True while a drawing is being moved or reshaped by its handle. */
|
|
154
278
|
isDragging(): boolean;
|
|
@@ -157,10 +281,9 @@ export declare class DrawingManager {
|
|
|
157
281
|
* 'pointer' over any drawing that can be grabbed, otherwise null. Null too
|
|
158
282
|
* while a drawing tool is active (the chart keeps its crosshair).
|
|
159
283
|
*/
|
|
284
|
+
/** The topmost visible drawing under `pos` (locked ones too), or null. */
|
|
285
|
+
drawingAt(pos: Point, viewport: ViewportState, tolerance?: number): string | null;
|
|
160
286
|
hoverCursorAt(pos: Point, viewport: ViewportState): 'move' | 'pointer' | null;
|
|
161
287
|
private handleSelectionClick;
|
|
162
|
-
private handleMove;
|
|
163
|
-
private handleResize;
|
|
164
288
|
}
|
|
165
|
-
export {};
|
|
166
289
|
//# sourceMappingURL=DrawingManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingManager.d.ts","sourceRoot":"","sources":["../../src/drawings/DrawingManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,KAAK,EACL,aAAa,EACb,OAAO,EAER,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DrawingManager.d.ts","sourceRoot":"","sources":["../../src/drawings/DrawingManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ViewportState } from '@tradecanvas/commons';
|
|
1
|
+
import { Theme, ViewportState } from '@tradecanvas/commons';
|
|
2
2
|
import { DrawingManager } from './DrawingManager.js';
|
|
3
3
|
export declare class DrawingRenderer {
|
|
4
4
|
private manager;
|
|
5
5
|
constructor(manager: DrawingManager);
|
|
6
|
-
render(ctx: CanvasRenderingContext2D, viewport: ViewportState): void;
|
|
6
|
+
render(ctx: CanvasRenderingContext2D, viewport: ViewportState, theme?: Theme): void;
|
|
7
7
|
}
|
|
8
8
|
//# sourceMappingURL=DrawingRenderer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DrawingRenderer.d.ts","sourceRoot":"","sources":["../../src/drawings/DrawingRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"DrawingRenderer.d.ts","sourceRoot":"","sources":["../../src/drawings/DrawingRenderer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,qBAAa,eAAe;IACd,OAAO,CAAC,OAAO;gBAAP,OAAO,EAAE,cAAc;IAE3C,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,QAAQ,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;CAKpF"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The selected drawings: a primary one (its handles show, it is what a drag
|
|
3
|
+
* reshapes) and the others selected with it (a box, Ctrl/⌘-clicks, its group).
|
|
4
|
+
*/
|
|
5
|
+
export declare class DrawingSelection {
|
|
6
|
+
private primaryId;
|
|
7
|
+
private others;
|
|
8
|
+
private listener;
|
|
9
|
+
/** Told the selected ids (the primary first) after each change. */
|
|
10
|
+
setListener(listener: ((ids: string[]) => void) | null): void;
|
|
11
|
+
/** Run a change; tell the listener when the selection came out different. */
|
|
12
|
+
private change;
|
|
13
|
+
get primary(): string | null;
|
|
14
|
+
has(id: string): boolean;
|
|
15
|
+
/** Every selected id, the primary first. */
|
|
16
|
+
ids(): string[];
|
|
17
|
+
clear(): void;
|
|
18
|
+
/** Add a drawing; the first one is the primary. */
|
|
19
|
+
add(id: string): void;
|
|
20
|
+
/** Select `id` as the primary, and `along` with it (the rest of its group). */
|
|
21
|
+
only(id: string, along?: Iterable<string>): void;
|
|
22
|
+
/** Make a selected drawing the primary, keeping the rest. */
|
|
23
|
+
focus(id: string): void;
|
|
24
|
+
/** Take drawings out; another selected one becomes the primary. Whether anything changed. */
|
|
25
|
+
remove(ids: Iterable<string>): boolean;
|
|
26
|
+
private removeNow;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=DrawingSelection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DrawingSelection.d.ts","sourceRoot":"","sources":["../../src/drawings/DrawingSelection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,QAAQ,CAA0C;IAE1D,mEAAmE;IACnE,WAAW,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,IAAI,CAAC,GAAG,IAAI,GAAG,IAAI;IAI7D,6EAA6E;IAC7E,OAAO,CAAC,MAAM;IAOd,IAAI,OAAO,IAAI,MAAM,GAAG,IAAI,CAE3B;IAED,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAIxB,4CAA4C;IAC5C,GAAG,IAAI,MAAM,EAAE;IAIf,KAAK,IAAI,IAAI;IAOb,mDAAmD;IACnD,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAOrB,+EAA+E;IAC/E,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,GAAE,QAAQ,CAAC,MAAM,CAAM,GAAG,IAAI;IAQpD,6DAA6D;IAC7D,KAAK,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IASvB,6FAA6F;IAC7F,MAAM,CAAC,GAAG,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,OAAO;IAItC,OAAO,CAAC,SAAS;CAkBlB"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { DrawingState } from '@tradecanvas/commons';
|
|
2
|
+
import { UndoableAction } from '../features/UndoRedoManager.js';
|
|
3
|
+
import { DrawingOrderMove } from './drawingState.js';
|
|
4
|
+
/** The drawings in `ids` order; any not listed stay after them. */
|
|
5
|
+
export declare function orderDrawings(drawings: readonly DrawingState[], ids: readonly string[]): DrawingState[];
|
|
6
|
+
/** Where a drawing at `from` (of `count`) goes for `to`. */
|
|
7
|
+
export declare function orderTarget(from: number, count: number, to: DrawingOrderMove): number;
|
|
8
|
+
/** The drawings with `action` taken back. Changed drawings are new objects. */
|
|
9
|
+
export declare function undoAction(drawings: readonly DrawingState[], action: UndoableAction): DrawingState[];
|
|
10
|
+
/** The drawings with `action` done again. */
|
|
11
|
+
export declare function redoAction(drawings: readonly DrawingState[], action: UndoableAction): DrawingState[];
|
|
12
|
+
//# sourceMappingURL=drawingHistory.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"drawingHistory.d.ts","sourceRoot":"","sources":["../../src/drawings/drawingHistory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAE1D,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,EAAE,GAAG,EAAE,SAAS,MAAM,EAAE,GAAG,YAAY,EAAE,CAKvG;AAED,4DAA4D;AAC5D,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,gBAAgB,GAAG,MAAM,CAQrF;AAMD,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,EAAE,MAAM,EAAE,cAAc,GAAG,YAAY,EAAE,CAoBpG;AAED,6CAA6C;AAC7C,wBAAgB,UAAU,CAAC,QAAQ,EAAE,SAAS,YAAY,EAAE,EAAE,MAAM,EAAE,cAAc,GAAG,YAAY,EAAE,CAepG"}
|