@tradecanvas/core 1.74.0 → 1.76.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/dist/drawings/DrawingBase.d.ts +15 -0
- package/dist/drawings/DrawingBase.d.ts.map +1 -1
- package/dist/drawings/DrawingDrag.d.ts +2 -0
- package/dist/drawings/DrawingDrag.d.ts.map +1 -1
- package/dist/drawings/DrawingManager.d.ts +21 -0
- package/dist/drawings/DrawingManager.d.ts.map +1 -1
- package/dist/drawings/DrawingRenderer.d.ts +2 -0
- package/dist/drawings/DrawingRenderer.d.ts.map +1 -1
- package/dist/drawings/drawingLook.d.ts +100 -0
- package/dist/drawings/drawingLook.d.ts.map +1 -0
- package/dist/drawings/handles.d.ts +25 -0
- package/dist/drawings/handles.d.ts.map +1 -0
- package/dist/drawings/tools/AnchoredVWAP.d.ts +2 -6
- package/dist/drawings/tools/AnchoredVWAP.d.ts.map +1 -1
- package/dist/drawings/tools/Circle.d.ts.map +1 -1
- package/dist/drawings/tools/CyclicLines.d.ts +2 -0
- package/dist/drawings/tools/CyclicLines.d.ts.map +1 -1
- package/dist/drawings/tools/DateAndPriceRange.d.ts.map +1 -1
- package/dist/drawings/tools/DateRange.d.ts +7 -0
- package/dist/drawings/tools/DateRange.d.ts.map +1 -1
- package/dist/drawings/tools/ElliottWave.d.ts +8 -0
- package/dist/drawings/tools/ElliottWave.d.ts.map +1 -1
- package/dist/drawings/tools/Ellipse.d.ts +9 -1
- package/dist/drawings/tools/Ellipse.d.ts.map +1 -1
- package/dist/drawings/tools/FibChannel.d.ts.map +1 -1
- package/dist/drawings/tools/FibSpeedResistanceFan.d.ts +2 -0
- package/dist/drawings/tools/FibSpeedResistanceFan.d.ts.map +1 -1
- package/dist/drawings/tools/FibTimeZones.d.ts +2 -0
- package/dist/drawings/tools/FibTimeZones.d.ts.map +1 -1
- package/dist/drawings/tools/GannBox.d.ts +6 -0
- 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.map +1 -1
- 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 +6 -0
- package/dist/drawings/tools/ParallelChannel.d.ts.map +1 -1
- package/dist/drawings/tools/Pitchfork.d.ts +13 -0
- package/dist/drawings/tools/Pitchfork.d.ts.map +1 -1
- package/dist/drawings/tools/PriceLabel.d.ts +2 -0
- package/dist/drawings/tools/PriceLabel.d.ts.map +1 -1
- package/dist/drawings/tools/PriceRange.d.ts +5 -0
- package/dist/drawings/tools/PriceRange.d.ts.map +1 -1
- package/dist/drawings/tools/Rectangle.d.ts +1 -1
- package/dist/drawings/tools/Rectangle.d.ts.map +1 -1
- package/dist/drawings/tools/RegressionChannel.d.ts +36 -1
- package/dist/drawings/tools/RegressionChannel.d.ts.map +1 -1
- package/dist/drawings/tools/RiskReward.d.ts.map +1 -1
- package/dist/drawings/tools/TextAnnotation.d.ts +6 -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/Triangle.d.ts.map +1 -1
- package/dist/drawings/tools/VerticalLine.d.ts.map +1 -1
- package/dist/drawings/tools/VolumeProfileRange.d.ts +20 -5
- package/dist/drawings/tools/VolumeProfileRange.d.ts.map +1 -1
- package/dist/drawings/tools/annotations.d.ts +6 -0
- package/dist/drawings/tools/annotations.d.ts.map +1 -1
- package/dist/drawings/tools/cycles.d.ts.map +1 -1
- package/dist/drawings/tools/fibGeometry.d.ts +24 -8
- package/dist/drawings/tools/fibGeometry.d.ts.map +1 -1
- package/dist/drawings/tools/forecast.d.ts +11 -0
- package/dist/drawings/tools/forecast.d.ts.map +1 -1
- package/dist/drawings/tools/freehand.d.ts +4 -1
- package/dist/drawings/tools/freehand.d.ts.map +1 -1
- package/dist/drawings/tools/labels.d.ts +24 -10
- package/dist/drawings/tools/labels.d.ts.map +1 -1
- package/dist/drawings/tools/lineDecor.d.ts +3 -1
- package/dist/drawings/tools/lineDecor.d.ts.map +1 -1
- package/dist/drawings/tools/lineText.d.ts.map +1 -1
- package/dist/drawings/tools/markers.d.ts.map +1 -1
- package/dist/drawings/tools/options.d.ts +3 -2
- package/dist/drawings/tools/options.d.ts.map +1 -1
- package/dist/drawings/tools/patternLabels.d.ts +38 -0
- package/dist/drawings/tools/patternLabels.d.ts.map +1 -0
- package/dist/drawings/tools/patterns.d.ts +17 -3
- package/dist/drawings/tools/patterns.d.ts.map +1 -1
- package/dist/drawings/tools/priceLevels.d.ts.map +1 -1
- package/dist/drawings/tools/textBox.d.ts +21 -3
- package/dist/drawings/tools/textBox.d.ts.map +1 -1
- package/dist/engine/RenderEngine.d.ts.map +1 -1
- package/dist/index.cjs +8 -8
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +4422 -3497
- package/dist/index.js.map +1 -1
- package/dist/interaction/InteractionManager.d.ts.map +1 -1
- package/package.json +2 -2
|
@@ -13,6 +13,8 @@ export declare class PriceLabelTool extends DrawingBase {
|
|
|
13
13
|
private text;
|
|
14
14
|
private box;
|
|
15
15
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
16
|
+
/** The box, rounded and on whole pixels, filled with `color`. */
|
|
17
|
+
private fillBox;
|
|
16
18
|
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
17
19
|
}
|
|
18
20
|
//# sourceMappingURL=PriceLabel.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceLabel.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/PriceLabel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"PriceLabel.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/PriceLabel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAuBhD,mFAAmF;AACnF,qBAAa,cAAe,SAAQ,WAAW;IAC7C,0FAA0F;IAC1F,OAAO,CAAC,KAAK,CAAkB;IAE/B,UAAU;;;;;MAAwF;IAElG,OAAO,CAAC,IAAI;IAIZ,OAAO,CAAC,GAAG;IASX,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAgC5G,iEAAiE;IACjE,OAAO,CAAC,OAAO;IAUf,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAUhG"}
|
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
import { DrawingState, Point, ViewportState } from '@tradecanvas/commons';
|
|
2
2
|
import { DrawingBase } from '../DrawingBase.js';
|
|
3
|
+
/**
|
|
4
|
+
* Price Range: a box from one price to another, tinted and edged in the
|
|
5
|
+
* rise or fall colour, an arrow up or down its middle, and the change on a
|
|
6
|
+
* tag just past the end it went to.
|
|
7
|
+
*/
|
|
3
8
|
export declare class PriceRangeTool extends DrawingBase {
|
|
4
9
|
descriptor: {
|
|
5
10
|
type: "priceRange";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PriceRange.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/PriceRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"PriceRange.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/PriceRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAUhD;;;;GAIG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,UAAU;;;;MAA4E;IAEtF,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IA2C5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAQhG"}
|
|
@@ -16,7 +16,7 @@ export declare class RectangleTool extends DrawingBase {
|
|
|
16
16
|
};
|
|
17
17
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
18
18
|
/** The eight handles on screen, in their order. */
|
|
19
|
-
|
|
19
|
+
protected handlePoints(state: DrawingState, viewport: ViewportState): Point[];
|
|
20
20
|
private renderBoxHandles;
|
|
21
21
|
hitTestAnchor(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): number;
|
|
22
22
|
moveHandle(state: DrawingState, index: number, anchor: AnchorPoint): DrawingState;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Rectangle.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/Rectangle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Rectangle.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/Rectangle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC5F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD;;;;;GAKG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C,UAAU;;;;;;MAAiG;IAE3G,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAoB5G,mDAAmD;cAChC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,EAAE;IAOtF,OAAO,CAAC,gBAAgB;IAKxB,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAepG,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY;IAejF,mEAAmE;IACnE,OAAO,CAAC,KAAK,CAAsB;IAEnC,oFAAoF;IACpF,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI5F,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAI/F,OAAO,CAAC,QAAQ;CAYjB"}
|
|
@@ -1,5 +1,25 @@
|
|
|
1
|
-
import { DrawingState, Point, ViewportState } from '@tradecanvas/commons';
|
|
1
|
+
import { DataSeries, DrawingState, Point, ViewportState } from '@tradecanvas/commons';
|
|
2
2
|
import { DrawingBase } from '../DrawingBase.js';
|
|
3
|
+
/** The least-squares line through closes, by bar index, and their spread around it. */
|
|
4
|
+
export interface RegressionFit {
|
|
5
|
+
/** The first and last bar the fit covers. */
|
|
6
|
+
from: number;
|
|
7
|
+
to: number;
|
|
8
|
+
slope: number;
|
|
9
|
+
intercept: number;
|
|
10
|
+
/** The closes' standard deviation from the line. */
|
|
11
|
+
deviation: number;
|
|
12
|
+
/** The line's price at bar `index`. */
|
|
13
|
+
at(index: number): number;
|
|
14
|
+
}
|
|
15
|
+
/** The least-squares line through `closes` at bars `from`..`to`, or null with fewer than two. */
|
|
16
|
+
export declare function fitCloses(data: DataSeries, from: number, to: number): RegressionFit | null;
|
|
17
|
+
/**
|
|
18
|
+
* A regression channel: the least-squares line through the closes between
|
|
19
|
+
* its two points, with bands two standard deviations either side. Its points
|
|
20
|
+
* set the bars it covers; their prices are not used, and its handles sit on
|
|
21
|
+
* the line at its two ends.
|
|
22
|
+
*/
|
|
3
23
|
export declare class RegressionChannelTool extends DrawingBase {
|
|
4
24
|
descriptor: {
|
|
5
25
|
type: "regressionChannel";
|
|
@@ -7,6 +27,21 @@ export declare class RegressionChannelTool extends DrawingBase {
|
|
|
7
27
|
requiredAnchors: number;
|
|
8
28
|
fill: boolean;
|
|
9
29
|
};
|
|
30
|
+
private dataGetter;
|
|
31
|
+
private dataRevision;
|
|
32
|
+
/**
|
|
33
|
+
* Fits worked out, by the bars they cover: a fit runs over every bar between its points, and
|
|
34
|
+
* a frame, a hover and a hit test each ask for it. Worked out again when the bars change.
|
|
35
|
+
*/
|
|
36
|
+
private fits;
|
|
37
|
+
private fitsFor;
|
|
38
|
+
setDataGetter(getter: () => DataSeries, revision?: () => number): void;
|
|
39
|
+
/** The fit over the bars between its points, or null without bars. */
|
|
40
|
+
fit(state: DrawingState, viewport: ViewportState): RegressionFit | null;
|
|
41
|
+
/** The middle line and the two bands as segments on screen, or the line between its points without bars. */
|
|
42
|
+
private lines;
|
|
43
|
+
/** Its handles on the fitted line at its two ends. */
|
|
44
|
+
protected handlePoints(state: DrawingState, viewport: ViewportState): Point[];
|
|
10
45
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
11
46
|
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
12
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegressionChannel.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/RegressionChannel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"RegressionChannel.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/RegressionChannel.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAWhD,uFAAuF;AACvF,MAAM,WAAW,aAAa;IAC5B,6CAA6C;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC3B;AAED,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI,CAkB1F;AAED;;;;;GAKG;AACH,qBAAa,qBAAsB,SAAQ,WAAW;IACpD,UAAU;;;;;MAAsG;IAEhH,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,YAAY,CAAyB;IAC7C;;;OAGG;IACH,OAAO,CAAC,IAAI,CAA2C;IACvD,OAAO,CAAC,OAAO,CAA0G;IAEzH,aAAa,CAAC,MAAM,EAAE,MAAM,UAAU,EAAE,QAAQ,GAAE,MAAM,MAAgB,GAAG,IAAI;IAM/E,sEAAsE;IACtE,GAAG,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,GAAG,IAAI;IAqBvE,4GAA4G;IAC5G,OAAO,CAAC,KAAK;IAeb,sDAAsD;cACnC,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,EAAE;IAUtF,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAwC5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAKhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RiskReward.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/RiskReward.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"RiskReward.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/RiskReward.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE5F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAmChD;;;;;;GAMG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAkBR;IAEF,OAAO,CAAC,QAAQ;IAehB,yFAAyF;IACzF,OAAO,CAAC,IAAI;IAMZ,OAAO,CAAC,OAAO;IAQf,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IA8F5G,OAAO,CAAC,aAAa;IAIZ,aAAa,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAK7G,uGAAuG;IACvG,UAAU,CAAC,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,YAAY;IAYjF,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAOhG"}
|
|
@@ -15,6 +15,12 @@ export declare class TextAnnotationTool extends DrawingBase {
|
|
|
15
15
|
descriptor: DrawingDescriptor;
|
|
16
16
|
private boxes;
|
|
17
17
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
18
|
+
/**
|
|
19
|
+
* No handle: its point is inside the box's padding, on the first letter, and
|
|
20
|
+
* a handle dragged sets the point to the pointer, which would make the text
|
|
21
|
+
* jump. A press anywhere on it moves it whole; the frame shows it is picked.
|
|
22
|
+
*/
|
|
23
|
+
protected handlePoints(): Point[];
|
|
18
24
|
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
19
25
|
textBox(state: DrawingState): Rect | null;
|
|
20
26
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextAnnotation.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/TextAnnotation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,
|
|
1
|
+
{"version":3,"file":"TextAnnotation.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/TextAnnotation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAA+E,KAAK,IAAI,EAAE,MAAM,cAAc,CAAC;AAKtH;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,SAAS,GAAG,MAAM,CAOpF;AAED;;;;GAIG;AACH,qBAAa,kBAAmB,SAAQ,WAAW;IACjD,UAAU,EAAE,iBAAiB,CAA8E;IAE3G,OAAO,CAAC,KAAK,CAAkB;IAE/B,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAU5G;;;;OAIG;cACgB,YAAY,IAAI,KAAK,EAAE;IAI1C,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAM/F,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;CAI1C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TrendAngle.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/TrendAngle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"TrendAngle.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/TrendAngle.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAOhD,4FAA4F;AAC5F,wBAAgB,cAAc,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,GAAG,MAAM,CAEzD;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,UAAU;;;;;MAAwF;IAElG,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IA4C5G,mEAAmE;IACnE,OAAO,CAAC,KAAK,CAAsB;IAEnC,oFAAoF;IACpF,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI5F,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAI/F,OAAO,CAAC,QAAQ;CAMjB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Triangle.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/Triangle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"Triangle.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/Triangle.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAGhD,qBAAa,YAAa,SAAQ,WAAW;IAC3C,UAAU;;;;;MAAmF;IAE7F,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAgC5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAUhG"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VerticalLine.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/VerticalLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"VerticalLine.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/VerticalLine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAQhD,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,UAAU;;;;;;;;;;;;MAMR;IAEF,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAuB5G,sGAAsG;IACtG,OAAO,CAAC,QAAQ;IAUhB,mEAAmE;IACnE,OAAO,CAAC,KAAK,CAAsB;IAEnC,oFAAoF;IACpF,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAI5F,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAI/F,OAAO,CAAC,QAAQ;CAOjB"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
import { DrawingState, Point, ViewportState, DataSeries } from '@tradecanvas/commons';
|
|
2
2
|
import { DrawingBase } from '../DrawingBase.js';
|
|
3
3
|
/**
|
|
4
|
-
* Volume Profile (
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Volume Profile (Range): the volume traded at each price between two bars,
|
|
5
|
+
* as a histogram inside the range's box, from its left edge, with the value
|
|
6
|
+
* area shaded and the point of control drawn across. Its handles sit on the
|
|
7
|
+
* box's corners.
|
|
7
8
|
*/
|
|
8
9
|
export declare class VolumeProfileRangeTool extends DrawingBase {
|
|
9
10
|
descriptor: {
|
|
@@ -14,8 +15,22 @@ export declare class VolumeProfileRangeTool extends DrawingBase {
|
|
|
14
15
|
priceOnly: boolean;
|
|
15
16
|
};
|
|
16
17
|
private dataGetter;
|
|
17
|
-
private
|
|
18
|
-
|
|
18
|
+
private dataRevision;
|
|
19
|
+
/**
|
|
20
|
+
* The rows last worked out, and for which bars: a frame, a hover and a hit
|
|
21
|
+
* test each ask for them, and working them out reads every bar in the range.
|
|
22
|
+
*/
|
|
23
|
+
private cached;
|
|
24
|
+
setDataGetter(getter: () => DataSeries, revision?: () => number): void;
|
|
25
|
+
/** The profile of the bars between the two points, or null without bars there. */
|
|
26
|
+
private profile;
|
|
27
|
+
/** The volume at each price row of bars `start`..`end`, or null when they have no range or no volume. */
|
|
28
|
+
private rowsOf;
|
|
29
|
+
/**
|
|
30
|
+
* Its handles at the box's top and foot, over its first and last bars' centres: the first
|
|
31
|
+
* point's at the top, the second's at the foot. On a bar's centre, a drag lands on that bar.
|
|
32
|
+
*/
|
|
33
|
+
protected handlePoints(state: DrawingState, viewport: ViewportState): Point[];
|
|
19
34
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
20
35
|
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
21
36
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VolumeProfileRange.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/VolumeProfileRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"VolumeProfileRange.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/VolumeProfileRange.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAC3F,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAwDhD;;;;;GAKG;AACH,qBAAa,sBAAuB,SAAQ,WAAW;IACrD,UAAU;;;;;;MAA4H;IAEtI,OAAO,CAAC,UAAU,CAAmC;IACrD,OAAO,CAAC,YAAY,CAAyB;IAC7C;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAsH;IAEpI,aAAa,CAAC,MAAM,EAAE,MAAM,UAAU,EAAE,QAAQ,GAAE,MAAM,MAAgB,GAAG,IAAI;IAM/E,kFAAkF;IAClF,OAAO,CAAC,OAAO;IA2Bf,yGAAyG;IACzG,OAAO,CAAC,MAAM;IAuCd;;;OAGG;cACgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,EAAE;IAUtF,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IA+C5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAMhG"}
|
|
@@ -23,6 +23,8 @@ export declare class CalloutTool extends DrawingBase {
|
|
|
23
23
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
24
24
|
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
25
25
|
textBox(state: DrawingState): Rect | null;
|
|
26
|
+
/** The box's handle on the box as drawn (kept on the plot), so a drag from it starts where it shows. */
|
|
27
|
+
protected handlePoints(state: DrawingState, viewport: ViewportState): Point[];
|
|
26
28
|
}
|
|
27
29
|
/** A flag planted at a bar and price. */
|
|
28
30
|
export declare class FlagTool extends DrawingBase {
|
|
@@ -65,6 +67,8 @@ export declare class ArrowMarkTool extends DrawingBase {
|
|
|
65
67
|
};
|
|
66
68
|
private outline;
|
|
67
69
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
70
|
+
/** No handle: one at its tip would cover the arrow's head. A press on it moves it; the frame shows it is picked. */
|
|
71
|
+
protected handlePoints(): Point[];
|
|
68
72
|
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
69
73
|
}
|
|
70
74
|
export declare const ICON_GLYPHS: readonly ["star", "heart", "check", "cross", "circle", "triangleUp", "triangleDown", "bolt"];
|
|
@@ -98,6 +102,8 @@ export declare class IconTool extends DrawingBase {
|
|
|
98
102
|
};
|
|
99
103
|
};
|
|
100
104
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
105
|
+
/** No handle: one at its point, the glyph's middle, would cover the glyph. A press on it moves it; the frame shows it is picked. */
|
|
106
|
+
protected handlePoints(): Point[];
|
|
101
107
|
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
102
108
|
}
|
|
103
109
|
//# sourceMappingURL=annotations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/annotations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,OAAO,
|
|
1
|
+
{"version":3,"file":"annotations.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/annotations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cycles.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/cycles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"cycles.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/cycles.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/E,OAAO,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;AAS9D;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,UAAU;;;;;MAAwF;IAElG;;;OAGG;IACH,OAAO,CAAC,aAAa;IAuBrB,OAAO,CAAC,MAAM;IAYd,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAe5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAOhG;AAED;;;GAGG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C,UAAU;;;;MAAwE;IAElF,OAAO,CAAC,MAAM;IAed,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAU5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAIhG"}
|
|
@@ -1,24 +1,28 @@
|
|
|
1
1
|
import { DrawingLevel, DrawingState, Point, ViewportState } from '@tradecanvas/commons';
|
|
2
2
|
import { DrawingBase } from '../DrawingBase.js';
|
|
3
|
+
/** One level's shape: its points, and where its label goes, `away` the way it leans off the shape. */
|
|
4
|
+
interface LevelShape {
|
|
5
|
+
level: DrawingLevel;
|
|
6
|
+
points: Point[];
|
|
7
|
+
label: Point;
|
|
8
|
+
away?: Point;
|
|
9
|
+
}
|
|
3
10
|
/**
|
|
4
11
|
* Tools drawn as one shape per level (circles, arcs, rays): each level in
|
|
5
12
|
* its colour, labelled with its ratio when asked.
|
|
6
13
|
*/
|
|
7
14
|
declare abstract class LevelShapesTool extends DrawingBase {
|
|
8
15
|
/** One shape per visible level, as points, with where its label goes. */
|
|
9
|
-
protected abstract shapes(pts: Point[], levels: DrawingLevel[], viewport: ViewportState, state: DrawingState):
|
|
10
|
-
level: DrawingLevel;
|
|
11
|
-
points: Point[];
|
|
12
|
-
label: Point;
|
|
13
|
-
}[];
|
|
16
|
+
protected abstract shapes(pts: Point[], levels: DrawingLevel[], viewport: ViewportState, state: DrawingState): LevelShape[];
|
|
14
17
|
/** Lines drawn besides the levels (the trend line the levels measure). */
|
|
15
18
|
protected guides(pts: Point[]): [Point, Point][];
|
|
16
19
|
protected pixels(state: DrawingState, viewport: ViewportState): Point[];
|
|
17
20
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
18
21
|
/**
|
|
19
|
-
* The levels' ratios
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
+
* The levels' ratios, each beside its shape, off its guide. Labels of
|
|
23
|
+
* levels close together (small circles) would pile up: the 1 level is
|
|
24
|
+
* labelled first, then from the outermost in, and one that would cover a
|
|
25
|
+
* label already drawn is left out.
|
|
22
26
|
*/
|
|
23
27
|
private renderLabels;
|
|
24
28
|
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
@@ -49,6 +53,10 @@ export declare class FibCirclesTool extends LevelShapesTool {
|
|
|
49
53
|
x: number;
|
|
50
54
|
y: number;
|
|
51
55
|
};
|
|
56
|
+
away: {
|
|
57
|
+
x: number;
|
|
58
|
+
y: number;
|
|
59
|
+
};
|
|
52
60
|
}[];
|
|
53
61
|
}
|
|
54
62
|
/**
|
|
@@ -85,6 +93,7 @@ export declare class FibArcsTool extends LevelShapesTool {
|
|
|
85
93
|
x: number;
|
|
86
94
|
y: number;
|
|
87
95
|
};
|
|
96
|
+
away: Point;
|
|
88
97
|
}[];
|
|
89
98
|
}
|
|
90
99
|
/** Arcs at Fibonacci shares of a move, between two lines from its start: click the apex, then the two ends. */
|
|
@@ -114,6 +123,10 @@ export declare class FibWedgeTool extends LevelShapesTool {
|
|
|
114
123
|
x: number;
|
|
115
124
|
y: number;
|
|
116
125
|
};
|
|
126
|
+
away: {
|
|
127
|
+
x: number;
|
|
128
|
+
y: number;
|
|
129
|
+
};
|
|
117
130
|
}[];
|
|
118
131
|
}
|
|
119
132
|
/**
|
|
@@ -146,6 +159,7 @@ export declare class PitchfanTool extends LevelShapesTool {
|
|
|
146
159
|
x: number;
|
|
147
160
|
y: number;
|
|
148
161
|
};
|
|
162
|
+
away: Point;
|
|
149
163
|
}[];
|
|
150
164
|
}
|
|
151
165
|
/** A golden spiral: click its centre, then where it starts; it turns out from there in quarter turns of φ. */
|
|
@@ -196,6 +210,8 @@ export declare class GannSquareTool extends DrawingBase {
|
|
|
196
210
|
};
|
|
197
211
|
private lines;
|
|
198
212
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
213
|
+
/** A segment: on whole pixels when it is level or upright, as it is otherwise. */
|
|
214
|
+
private strokeSegment;
|
|
199
215
|
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
200
216
|
}
|
|
201
217
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fibGeometry.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/fibGeometry.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,WAAW,EAAmC,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"fibGeometry.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/fibGeometry.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,6 +78,17 @@ export declare class BarsPatternTool extends DrawingBase {
|
|
|
78
78
|
/** The copied bars, moved so the first one opens at the third point. */
|
|
79
79
|
private copied;
|
|
80
80
|
private box;
|
|
81
|
+
/**
|
|
82
|
+
* The bars being copied: from the first point's bar to the second's, over
|
|
83
|
+
* their highs and lows; null before there are bars. Its corners are where
|
|
84
|
+
* its first two handles sit.
|
|
85
|
+
*/
|
|
86
|
+
private source;
|
|
87
|
+
/**
|
|
88
|
+
* Its first two handles on the band's top, over the first and last bars it copies (on a
|
|
89
|
+
* bar's centre a drag lands on that bar); the third where the copy starts.
|
|
90
|
+
*/
|
|
91
|
+
protected handlePoints(state: DrawingState, viewport: ViewportState): Point[];
|
|
81
92
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
82
93
|
private renderCopy;
|
|
83
94
|
hitTest(point: Point, state: DrawingState, viewport: ViewportState, tolerance: number): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"forecast.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/forecast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"forecast.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/forecast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAqB,MAAM,mBAAmB,CAAC;AAgBnE,kGAAkG;AAClG,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/D,+DAA+D;AAC/D,wBAAgB,eAAe,CAAC,IAAI,EAAE,SAAS,OAAO,EAAE,EAAE,IAAI,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,EAAE,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,eAAe,CAYrJ;AAED;;;;GAIG;AACH,qBAAa,YAAa,SAAQ,WAAW;IAC3C,UAAU;;;;MAAuE;IAEjF,OAAO,CAAC,IAAI,CAAsC;IAElD,aAAa,CAAC,MAAM,EAAE,MAAM,SAAS,OAAO,EAAE,GAAG,IAAI;IAIrD,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAiC5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAMhG;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,WAAW;IAC7C,UAAU;;;;;MAAuF;IAEjG,+DAA+D;IAC/D,OAAO,CAAC,MAAM;IAMd,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IA4B5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAMhG;AAED;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,WAAW;IAC9C,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;MAkBR;IAEF,OAAO,CAAC,IAAI,CAAsC;IAElD,aAAa,CAAC,MAAM,EAAE,MAAM,SAAS,OAAO,EAAE,GAAG,IAAI;IAIrD,wEAAwE;IACxE,OAAO,CAAC,MAAM;IAuBd,OAAO,CAAC,GAAG;IAgBX;;;;OAIG;IACH,OAAO,CAAC,MAAM;IAoBd;;;OAGG;cACgB,YAAY,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,GAAG,KAAK,EAAE;IAgBtF,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAoB5G,OAAO,CAAC,UAAU;IAwClB,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAOhG"}
|
|
@@ -13,7 +13,10 @@ export declare class BrushTool extends DrawingBase {
|
|
|
13
13
|
alpha: number;
|
|
14
14
|
};
|
|
15
15
|
render(ctx: CanvasRenderingContext2D, state: DrawingState, viewport: ViewportState, selected: boolean): void;
|
|
16
|
-
/**
|
|
16
|
+
/**
|
|
17
|
+
* A selected stroke is framed as a text is, instead of showing hundreds of handles;
|
|
18
|
+
* the frame's room counts as covered either way, for a toolbar placed as it is picked.
|
|
19
|
+
*/
|
|
17
20
|
private renderBounds;
|
|
18
21
|
/** The stroke's box on screen, from its time and price span. */
|
|
19
22
|
private screenBox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"freehand.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/freehand.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAe,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC/G,OAAO,EAAE,WAAW,EAAgB,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"freehand.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/freehand.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,14 +4,10 @@ import { DrawingState, Theme, ViewportState } from '@tradecanvas/commons';
|
|
|
4
4
|
* halo, its font family for the text. Set by the drawing renderer right
|
|
5
5
|
* before each (synchronous) pass; none puts the defaults back.
|
|
6
6
|
*/
|
|
7
|
-
export declare function setDrawingTheme(theme: Pick<Theme, 'background' | 'style'> &
|
|
8
|
-
|
|
9
|
-
family?: string;
|
|
10
|
-
};
|
|
11
|
-
} | null): void;
|
|
12
|
-
/** The fill of a selected drawing's handles: white, or the `drawings.handleColor` key's. */
|
|
7
|
+
export declare function setDrawingTheme(theme: (Pick<Theme, 'background' | 'style'> & Partial<Pick<Theme, 'text' | 'font'>>) | null): void;
|
|
8
|
+
/** The fill of a selected drawing's handles: the chart's background, or the `drawings.handleColor` key's. */
|
|
13
9
|
export declare function drawingHandleFill(): string;
|
|
14
|
-
/** The family drawing
|
|
10
|
+
/** The family drawing figures are set in: the theme's. */
|
|
15
11
|
export declare function drawingFontFamily(): string;
|
|
16
12
|
/** Text in drawings: the theme's type at `size` px (not the browser's default sans). */
|
|
17
13
|
export declare function drawingFont(size: number, weight?: 'bold'): string;
|
|
@@ -61,8 +57,8 @@ export declare function rightOfKeepOut(top: number, bottom: number): number | nu
|
|
|
61
57
|
* glyph.
|
|
62
58
|
*/
|
|
63
59
|
export declare function fillLevelLabel(ctx: CanvasRenderingContext2D, text: string, x: number, y: number, right?: number, plotTop?: number): void;
|
|
64
|
-
/**
|
|
65
|
-
export declare
|
|
60
|
+
/** A pill's height for the look's label size (18 px at 12 px type). */
|
|
61
|
+
export declare function pillHeight(): number;
|
|
66
62
|
/** Width of a pill for `text` in the current font. */
|
|
67
63
|
export declare function pillWidth(ctx: CanvasRenderingContext2D, text: string): number;
|
|
68
64
|
/**
|
|
@@ -90,7 +86,7 @@ export declare function barsBetween(state: DrawingState, a: number, b: number, v
|
|
|
90
86
|
/** Time span between two anchors as text, or null when anchors are bar indices. */
|
|
91
87
|
export declare function spanBetween(state: DrawingState, a: number, b: number, viewport: ViewportState): string | null;
|
|
92
88
|
/**
|
|
93
|
-
* Multi-line label on a
|
|
89
|
+
* Multi-line label on a box of the chart's own surface, in its text colour. `(x, y)` is the box's anchor point:
|
|
94
90
|
* `align` picks which horizontal edge/center sits on x, and the box grows
|
|
95
91
|
* upward from y when `above`, downward otherwise. Returns the box rect.
|
|
96
92
|
*/
|
|
@@ -100,6 +96,24 @@ export declare function drawLabelBox(ctx: CanvasRenderingContext2D, lines: strin
|
|
|
100
96
|
width: number;
|
|
101
97
|
height: number;
|
|
102
98
|
};
|
|
99
|
+
/**
|
|
100
|
+
* A label box's surface at (x, y), `width` × `height` (whole px): the chart's
|
|
101
|
+
* background, nearly opaque, rounded, on a faint line of its text colour.
|
|
102
|
+
* Leaves the fill style for the box's text to set.
|
|
103
|
+
*/
|
|
104
|
+
export declare function fillLabelSurface(ctx: CanvasRenderingContext2D, x: number, y: number, width: number, height: number): void;
|
|
105
|
+
/** A label's box on screen: left, top, right, bottom (CSS px). */
|
|
106
|
+
export interface LabelBox {
|
|
107
|
+
left: number;
|
|
108
|
+
top: number;
|
|
109
|
+
right: number;
|
|
110
|
+
bottom: number;
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* The first of `spots` clear of the legend and of `placed` (a tool's own
|
|
114
|
+
* labels so far), or null when none is.
|
|
115
|
+
*/
|
|
116
|
+
export declare function clearSpot(spots: readonly LabelBox[], placed: readonly LabelBox[]): LabelBox | null;
|
|
103
117
|
/** Ratio of two price legs, e.g. |BC| / |AB|, as text ("0.618"). */
|
|
104
118
|
export declare function legRatio(state: DrawingState, num: [number, number], den: [number, number]): string;
|
|
105
119
|
//# sourceMappingURL=labels.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/labels.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"labels.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/labels.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,9 @@ export declare const LINE_STATS_OPTIONS: DrawingOptionDefs;
|
|
|
10
10
|
/** One of the drawing's options, its default when unset (a tool's `option`). */
|
|
11
11
|
export type OptionReader = <T extends DrawingOptionValue>(key: string) => T;
|
|
12
12
|
/** A filled arrowhead at `tip`, pointing away from `from` (the freehand tools draw an open one). */
|
|
13
|
-
export declare function fillArrowHead(ctx: CanvasRenderingContext2D, from: Point, tip: Point, color: string): void;
|
|
13
|
+
export declare function fillArrowHead(ctx: CanvasRenderingContext2D, from: Point, tip: Point, color: string, lineWidth?: number): void;
|
|
14
|
+
/** A measuring tool's arrow head at `tip`, left off an arrow too short to carry it. */
|
|
15
|
+
export declare function fillMeasureHead(ctx: CanvasRenderingContext2D, from: Point, tip: Point, color: string, lineWidth?: number): void;
|
|
14
16
|
/** Arrowheads on the ends of the drawn line `segment` that ask for one. */
|
|
15
17
|
export declare function drawLineEnds(ctx: CanvasRenderingContext2D, segment: readonly [Point, Point], color: string, option: OptionReader): void;
|
|
16
18
|
/** The stats asked for, between the drawing's first two points (`a` and `b` on screen). */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineDecor.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/lineDecor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"lineDecor.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/lineDecor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,kBAAkB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAetH,yGAAyG;AACzG,eAAO,MAAM,gBAAgB,EAAE,iBAG9B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,kBAAkB,EAAE,iBAahC,CAAC;AAEF,gFAAgF;AAChF,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,SAAS,kBAAkB,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC,CAAC;AAE5E,oGAAoG;AACpG,wBAAgB,aAAa,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,IAAI,CAUxH;AAKD,uFAAuF;AACvF,wBAAgB,eAAe,CAAC,GAAG,EAAE,wBAAwB,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,SAAI,GAAG,IAAI,CAG1H;AAED,2EAA2E;AAC3E,wBAAgB,YAAY,CAAC,GAAG,EAAE,wBAAwB,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAKvI;AAED,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,EAAE,CAQ9H;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAC3B,GAAG,EAAE,wBAAwB,EAC7B,KAAK,EAAE,YAAY,EACnB,QAAQ,EAAE,aAAa,EACvB,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC,EAC/B,QAAQ,EAAE,OAAO,EACjB,MAAM,EAAE,YAAY,GACnB,IAAI,CA0BN"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lineText.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/lineText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAyB,KAAK,IAAI,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"lineText.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/lineText.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAyB,KAAK,IAAI,EAAE,MAAM,cAAc,CAAC;AAgBhE;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,IAAI,CAoBjF;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAKD,4FAA4F;AAC5F,qBAAa,YAAY;IACvB,OAAO,CAAC,KAAK,CAAiC;IAE9C,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,UAAU,GAAG,IAAI,GAAG,IAAI;IAW7C,4GAA4G;IAC5G,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAc/B,wEAAwE;IACxE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;CAa1D;AAeD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CA8CnI;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAoB5G"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/markers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAyB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAA2D,KAAK,IAAI,EAAoB,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"markers.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/markers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAClG,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAyB,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAA2D,KAAK,IAAI,EAAoB,MAAM,cAAc,CAAC;AA4EpH,oGAAoG;AACpG,qBAAa,YAAa,SAAQ,WAAW;IAC3C,UAAU,EAAE,iBAAiB,CAAsF;IAEnH,OAAO,CAAC,KAAK,CAAkB;IAE/B,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAiB5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAS/F,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;CAG1C;AAED,4GAA4G;AAC5G,qBAAa,WAAY,SAAQ,WAAW;IAC1C,UAAU,EAAE,iBAAiB,CAAoF;IAEjH,OAAO,CAAC,KAAK,CAAkB;IAE/B,MAAM,CAAC,GAAG,EAAE,wBAAwB,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,QAAQ,EAAE,OAAO,GAAG,IAAI;IAc5G,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO;IAW/F,OAAO,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,GAAG,IAAI;CAG1C;AAED,0GAA0G;AAC1G,qBAAa,gBAAiB,SAAQ,kBAAkB;IACtD,UAAU,EAAE,iBAAiB,CAAoH;CAClJ;AAED,8FAA8F;AAC9F,qBAAa,gBAAiB,SAAQ,QAAQ;IAC5C,UAAU,EAAE,iBAAiB,CAQ3B;CACH"}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { DrawingLevel, DrawingOptionDefs } from '@tradecanvas/commons';
|
|
2
2
|
/**
|
|
3
|
-
* Each Fibonacci ratio's colour: the ends neutral, the ratios between
|
|
4
|
-
*
|
|
3
|
+
* Each Fibonacci ratio's colour: the ends neutral, the ratios between each a
|
|
4
|
+
* hue of its own among the ones drawn together (shades that keep 3:1 as lines
|
|
5
|
+
* on dark and on paper; their text is deepened where it needs to read), so
|
|
5
6
|
* the levels read apart at a glance.
|
|
6
7
|
*/
|
|
7
8
|
export declare const FIB_LEVEL_COLORS: Readonly<Record<number, string>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE5E
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../src/drawings/tools/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE5E;;;;;GAKG;AACH,eAAO,MAAM,gBAAgB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAiB7D,CAAC;AAEF,2DAA2D;AAC3D,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,GAAE,SAAS,MAAM,EAAO,GAAG,YAAY,EAAE,CAKrG;AAED,iGAAiG;AACjG,wBAAgB,SAAS,CAAC,KAAK,EAAE,SAAS,MAAM,EAAE,EAAE,MAAM,GAAE,SAAS,MAAM,EAAO,GAAG,YAAY,EAAE,CAKlG;AAED,gEAAgE;AAChE,wBAAgB,aAAa,CAAC,IAAI,UAAQ,EAAE,KAAK,UAAQ,GAAG,iBAAiB,CAK5E;AAED,iEAAiE;AACjE,eAAO,MAAM,iBAAiB,EAAE,iBAE/B,CAAC;AAEF,qGAAqG;AACrG,eAAO,MAAM,iBAAiB,EAAE,iBAG/B,CAAC;AAEF,8EAA8E;AAC9E,eAAO,MAAM,mBAAmB,EAAE,iBASjC,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { DrawingState, Point } from '@tradecanvas/commons';
|
|
2
|
+
import { LabelBox } from './labels.js';
|
|
3
|
+
/** Which side of its point a label goes. */
|
|
4
|
+
export type VertexSide = 'above' | 'below';
|
|
5
|
+
/** A point's name, with a short form for where the full one would meet another. */
|
|
6
|
+
export interface VertexMark {
|
|
7
|
+
text: string;
|
|
8
|
+
/** Written instead of `text` when the full names would print over each other. */
|
|
9
|
+
short?: string;
|
|
10
|
+
/** Placed before the others, so it is the one kept when there is room for only one. */
|
|
11
|
+
first?: boolean;
|
|
12
|
+
/** Drawn inside a ring of its own (a wave degree's circled figure). */
|
|
13
|
+
ring?: boolean;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* The side of point `i` its label goes: above a peak, below a trough. A point
|
|
17
|
+
* part way along a run goes to the side its neighbours' chord leaves open; an
|
|
18
|
+
* end, by its one neighbour.
|
|
19
|
+
*/
|
|
20
|
+
export declare function vertexSide(pts: readonly Point[], i: number): VertexSide;
|
|
21
|
+
/** How far a label sits from its point's centre, px: past its handle, selected or not. */
|
|
22
|
+
export declare function vertexOffset(lineWidth: number): number;
|
|
23
|
+
/**
|
|
24
|
+
* The names of a drawing's points, in the current font and `height` px tall:
|
|
25
|
+
* each centred outside its point, past its handle, in the drawing's colour on
|
|
26
|
+
* a halo. Returns the boxes drawn, for the labels after them to keep clear of.
|
|
27
|
+
*/
|
|
28
|
+
export declare function drawVertexLabels(ctx: CanvasRenderingContext2D, state: DrawingState, pts: readonly Point[], marks: readonly VertexMark[], height: number): LabelBox[];
|
|
29
|
+
/** The boxes a drawing's handles take at their biggest, for labels to keep clear of. */
|
|
30
|
+
export declare function handleBoxes(pts: readonly Point[], lineWidth: number): LabelBox[];
|
|
31
|
+
/**
|
|
32
|
+
* A ratio on the guide from `p` to `q`, in the mark size and the current
|
|
33
|
+
* colour, on a halo: at the guide's middle, or moved along it to the first
|
|
34
|
+
* spot clear of `placed` (handles, names, other ratios) and of the legend.
|
|
35
|
+
* Left out where no spot is clear. Returns its box, or null.
|
|
36
|
+
*/
|
|
37
|
+
export declare function drawGuideRatio(ctx: CanvasRenderingContext2D, text: string, p: Point, q: Point, placed: readonly LabelBox[]): LabelBox | null;
|
|
38
|
+
//# sourceMappingURL=patternLabels.d.ts.map
|