nhanh-pure-function 3.0.6-beta.1 → 3.0.6-beta.2
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/package.json +46 -45
- package/dist/Animate/index.d.ts +0 -45
- package/dist/Animate/type.d.ts +0 -0
- package/dist/Blob/index.d.ts +0 -10
- package/dist/Blob/type.d.ts +0 -0
- package/dist/Browser/index.d.ts +0 -77
- package/dist/Browser/type.d.ts +0 -0
- package/dist/Canvas/LayerGroup/index.d.ts +0 -30
- package/dist/Canvas/LayerGroup/layer.d.ts +0 -44
- package/dist/Canvas/OverlayGroup/arc.d.ts +0 -97
- package/dist/Canvas/OverlayGroup/arcTo.d.ts +0 -50
- package/dist/Canvas/OverlayGroup/bezierCurve.d.ts +0 -1
- package/dist/Canvas/OverlayGroup/custom.d.ts +0 -24
- package/dist/Canvas/OverlayGroup/ellipse.d.ts +0 -1
- package/dist/Canvas/OverlayGroup/index.d.ts +0 -31
- package/dist/Canvas/OverlayGroup/line.d.ts +0 -31
- package/dist/Canvas/OverlayGroup/point.d.ts +0 -40
- package/dist/Canvas/OverlayGroup/polygon.d.ts +0 -46
- package/dist/Canvas/OverlayGroup/public/geometricBoundary.d.ts +0 -70
- package/dist/Canvas/OverlayGroup/public/overlay.d.ts +0 -174
- package/dist/Canvas/OverlayGroup/text.d.ts +0 -27
- package/dist/Canvas/core/axis.d.ts +0 -42
- package/dist/Canvas/core/basedata.d.ts +0 -177
- package/dist/Canvas/core/draw.d.ts +0 -34
- package/dist/Canvas/core/event.d.ts +0 -77
- package/dist/Canvas/core/quikmethod.d.ts +0 -104
- package/dist/Canvas/core/style.d.ts +0 -22
- package/dist/Canvas/index.d.ts +0 -58
- package/dist/Canvas/index.types.d.ts +0 -14
- package/dist/Canvas/public/basedata.d.ts +0 -64
- package/dist/Canvas/public/eventController.d.ts +0 -111
- package/dist/Canvas/public/eventControllerBasedata.d.ts +0 -62
- package/dist/Canvas/public/tools.d.ts +0 -6
- package/dist/Constant.d.ts +0 -256
- package/dist/Element/index.d.ts +0 -108
- package/dist/Element/type.d.ts +0 -33
- package/dist/File/index.d.ts +0 -19
- package/dist/File/type.d.ts +0 -0
- package/dist/Format/index.d.ts +0 -75
- package/dist/Format/type.d.ts +0 -0
- package/dist/Math/index.d.ts +0 -50
- package/dist/Math/type.d.ts +0 -0
- package/dist/Utility/index.d.ts +0 -90
- package/dist/Utility/type.d.ts +0 -10
- package/dist/Valid/index.d.ts +0 -125
- package/dist/Valid/type.d.ts +0 -6
- package/dist/index.cjs.js +0 -9
- package/dist/index.d.ts +0 -44
- package/dist/index.es.js +0 -6133
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
import { default as Overlay } from './overlay';
|
|
2
|
-
import { default as Point } from '../point';
|
|
3
|
-
import { EventHandler } from '../../public/eventController';
|
|
4
|
-
type PointLocation = [number, number];
|
|
5
|
-
type ConstructorOption<T> = ConstructorParameters<typeof Overlay<T, PointLocation[]>>[0] & {
|
|
6
|
-
/** 是否可显示控制点 */
|
|
7
|
-
isHandlePointsVisible?: boolean;
|
|
8
|
-
/** 是否可以创建新的 控制点 */
|
|
9
|
-
canCreateOrDeleteHandlePoint?: boolean;
|
|
10
|
-
};
|
|
11
|
-
export default abstract class GeometricBoundary<T> extends Overlay<T, PointLocation[]> {
|
|
12
|
-
/** 控制点 */
|
|
13
|
-
protected handlePoints: Point[];
|
|
14
|
-
/** 当前是否渲染了控制点 */
|
|
15
|
-
protected isShowHandlePoint: boolean;
|
|
16
|
-
/** 是否可显示控制点 */
|
|
17
|
-
private _isHandlePointsVisible;
|
|
18
|
-
/** 是否可显示控制点 */
|
|
19
|
-
get isHandlePointsVisible(): boolean;
|
|
20
|
-
set isHandlePointsVisible(value: boolean);
|
|
21
|
-
/** 是否闭合 */
|
|
22
|
-
protected abstract isClosed: boolean;
|
|
23
|
-
/** 是否可以创建新的 控制点 */
|
|
24
|
-
canCreateOrDeleteHandlePoint: boolean;
|
|
25
|
-
/** 最少需要的 控制点 数量 */
|
|
26
|
-
protected abstract minNeededHandlePoints: number;
|
|
27
|
-
/** 锁定是否可创建句柄点 */
|
|
28
|
-
private lockedCanCreateOrDeleteHandlePoint;
|
|
29
|
-
/** 偏移量 */
|
|
30
|
-
get offset(): {
|
|
31
|
-
x: number;
|
|
32
|
-
y: number;
|
|
33
|
-
};
|
|
34
|
-
set offset(offset: {
|
|
35
|
-
x: number;
|
|
36
|
-
y: number;
|
|
37
|
-
});
|
|
38
|
-
constructor(option: ConstructorOption<T>);
|
|
39
|
-
/** 默认点击事件 点击后切换控制点显示状态 */
|
|
40
|
-
defaultClick: EventHandler<"click">;
|
|
41
|
-
/** 默认点击事件 点击后 创建/删除 控制点 */
|
|
42
|
-
defaultDoubleClick: EventHandler<"doubleClick">;
|
|
43
|
-
/** 尝试在指定位置创建新控制点 */
|
|
44
|
-
private tryCreateNewHandlePoint;
|
|
45
|
-
/** 尝试删除指定位置的控制点 */
|
|
46
|
-
private tryDeleteHandlePoint;
|
|
47
|
-
/** 获取扩展后的动态位置 */
|
|
48
|
-
private getExtendedDynamicPositions;
|
|
49
|
-
/** 获取相邻的索引 */
|
|
50
|
-
private getAdjacentIndices;
|
|
51
|
-
/** 创建新的控制点 */
|
|
52
|
-
private createNewHandlePoint;
|
|
53
|
-
/** 插入点 */
|
|
54
|
-
private insertHandlePoint;
|
|
55
|
-
/** 删除点 */
|
|
56
|
-
private deleteHandlePoint;
|
|
57
|
-
/** 锁定点创建 */
|
|
58
|
-
private lockHandlePointCreationTemporarily;
|
|
59
|
-
/** 解锁点创建 */
|
|
60
|
-
private resetHandlePointLock;
|
|
61
|
-
/** 是否可以删除点 */
|
|
62
|
-
private get canDeleteHandlePoint();
|
|
63
|
-
/** 处理拖动状态变化 */
|
|
64
|
-
defaultDragg: EventHandler<"dragg">;
|
|
65
|
-
/** 更新控制点 */
|
|
66
|
-
protected updateHandlePoints(): void;
|
|
67
|
-
/** 更新控制点位置 */
|
|
68
|
-
protected updateHandlePointsPosition(): void;
|
|
69
|
-
}
|
|
70
|
-
export {};
|
|
@@ -1,174 +0,0 @@
|
|
|
1
|
-
import { default as _Canvas } from '../..';
|
|
2
|
-
import { OverlayType } from '../index';
|
|
3
|
-
import { EventHandler, default as EventController } from '../../public/eventController';
|
|
4
|
-
type ConstructorOption<T, V> = ConstructorParameters<typeof EventController>[0] & {
|
|
5
|
-
/** 样式 */
|
|
6
|
-
style?: DeepPartial<T> | string;
|
|
7
|
-
/** 层级 */
|
|
8
|
-
zIndex?: number;
|
|
9
|
-
/** 坐标轴上的点位 */
|
|
10
|
-
position?: V;
|
|
11
|
-
/** 动态点位 */
|
|
12
|
-
dynamicPosition?: V;
|
|
13
|
-
/** 坐标轴上的值 */
|
|
14
|
-
value?: V;
|
|
15
|
-
/** 偏移 */
|
|
16
|
-
offset?: {
|
|
17
|
-
x: number;
|
|
18
|
-
y: number;
|
|
19
|
-
};
|
|
20
|
-
/** 鼠标移入时是否重新绘制 */
|
|
21
|
-
redrawOnIsHoverChange?: boolean;
|
|
22
|
-
};
|
|
23
|
-
export default abstract class Overlay<T, V extends [number, number] | [number, number][]> extends EventController {
|
|
24
|
-
static ctx: CanvasRenderingContext2D;
|
|
25
|
-
private _style?;
|
|
26
|
-
/** 样式 */
|
|
27
|
-
get style(): Overlay<T, V>["_style"] | undefined;
|
|
28
|
-
set style(style: Overlay<T, V>["_style"] | undefined);
|
|
29
|
-
private _position?;
|
|
30
|
-
/** 坐标轴上的点位 */
|
|
31
|
-
get position(): V | undefined;
|
|
32
|
-
set position(position: V | undefined);
|
|
33
|
-
private _value?;
|
|
34
|
-
/** 坐标轴上的值 */
|
|
35
|
-
get value(): V | undefined;
|
|
36
|
-
set value(value: V | undefined);
|
|
37
|
-
private _zIndex;
|
|
38
|
-
/** 层级 */
|
|
39
|
-
get zIndex(): number;
|
|
40
|
-
set zIndex(zIndex: number);
|
|
41
|
-
private _dynamicPosition?;
|
|
42
|
-
/** 动态点位 */
|
|
43
|
-
get dynamicPosition(): V | undefined;
|
|
44
|
-
private set dynamicPosition(value);
|
|
45
|
-
private _offset;
|
|
46
|
-
/** 偏移量 */
|
|
47
|
-
get offset(): {
|
|
48
|
-
x: number;
|
|
49
|
-
y: number;
|
|
50
|
-
};
|
|
51
|
-
set offset(offset: {
|
|
52
|
-
x: number;
|
|
53
|
-
y: number;
|
|
54
|
-
});
|
|
55
|
-
/** 最终的动态位置(含:偏移) */
|
|
56
|
-
get finalDynamicPosition(): V;
|
|
57
|
-
/** 绘制路径 */
|
|
58
|
-
path?: Path2D;
|
|
59
|
-
constructor(option: ConstructorOption<T, V>);
|
|
60
|
-
/** 内部使用的属性映射表,请勿修改 */
|
|
61
|
-
private readonly publicToPrivateKeyMap;
|
|
62
|
-
/** 请勿在实体对象中调用此方法,此方法仅用于类内部无副作用更新 (请勿使用!) */
|
|
63
|
-
internalUpdate(option: {
|
|
64
|
-
offset?: {
|
|
65
|
-
x: number;
|
|
66
|
-
y: number;
|
|
67
|
-
};
|
|
68
|
-
position?: V;
|
|
69
|
-
value?: V;
|
|
70
|
-
dynamicPosition?: V;
|
|
71
|
-
zIndex?: number;
|
|
72
|
-
style?: DeepPartial<T> | string;
|
|
73
|
-
}, updateValueScope?: boolean): void;
|
|
74
|
-
/** 鼠标移入时是否重新绘制 */
|
|
75
|
-
redrawOnIsHoverChange: boolean;
|
|
76
|
-
/** 默认 hover 事件 */
|
|
77
|
-
defaultHover: EventHandler<"hover">;
|
|
78
|
-
setMainCanvas(mainCanvas?: _Canvas): void;
|
|
79
|
-
setNotifyReload(notifyReload?: () => void): void;
|
|
80
|
-
/** 值范围 */
|
|
81
|
-
private _valueScope?;
|
|
82
|
-
/** 值范围 */
|
|
83
|
-
get valueScope(): {
|
|
84
|
-
minX: number;
|
|
85
|
-
maxX: number;
|
|
86
|
-
minY: number;
|
|
87
|
-
maxY: number;
|
|
88
|
-
} | undefined;
|
|
89
|
-
private set valueScope(value);
|
|
90
|
-
/** 更新值范围 */
|
|
91
|
-
protected abstract updateValueScope(): void;
|
|
92
|
-
/** 初始化值范围 */
|
|
93
|
-
protected initValueScope(): void;
|
|
94
|
-
/** 计算 valueScope 所需要的样式 */
|
|
95
|
-
protected abstract get computedValueScopeStyles(): {
|
|
96
|
-
stroke?: BaseLineStyle;
|
|
97
|
-
point?: PointStyleType;
|
|
98
|
-
};
|
|
99
|
-
/** 描边半径值 */
|
|
100
|
-
private styleRadius;
|
|
101
|
-
/** 计算样式半径值 */
|
|
102
|
-
protected calculateStyleRadiusValue(uselastFact?: boolean): {
|
|
103
|
-
radius: number;
|
|
104
|
-
value: number;
|
|
105
|
-
} | undefined;
|
|
106
|
-
/** 额外偏移 */
|
|
107
|
-
private offsetValue;
|
|
108
|
-
/** 计算偏移 */
|
|
109
|
-
protected calculateOffsetValue(uselastFact?: boolean): void;
|
|
110
|
-
/** 固定的额外范围 */
|
|
111
|
-
private fixedExtraScope;
|
|
112
|
-
/** 初始化设置固定的额外范围 */
|
|
113
|
-
protected setFixedExtraScope(init: true): void;
|
|
114
|
-
/** 设置固定的额外范围 */
|
|
115
|
-
protected setFixedExtraScope(fixedExtraScope?: {
|
|
116
|
-
topV: number;
|
|
117
|
-
bottomV: number;
|
|
118
|
-
leftV: number;
|
|
119
|
-
rightV: number;
|
|
120
|
-
}): void;
|
|
121
|
-
/** 额外范围 */
|
|
122
|
-
private extraScope;
|
|
123
|
-
/** 初始化设置额外范围 */
|
|
124
|
-
protected setExtraScope(init: true): void;
|
|
125
|
-
/** 更新额外范围 */
|
|
126
|
-
protected setExtraScope(): void;
|
|
127
|
-
/** 设置新的额外范围 */
|
|
128
|
-
protected setExtraScope(extraScope?: {
|
|
129
|
-
top: number;
|
|
130
|
-
bottom: number;
|
|
131
|
-
left: number;
|
|
132
|
-
right: number;
|
|
133
|
-
}): void;
|
|
134
|
-
/** 判断是否在可视范围内 */
|
|
135
|
-
protected get isWithinRange(): boolean;
|
|
136
|
-
/** 判断是否需要渲染 */
|
|
137
|
-
protected get isNeedRender(): boolean;
|
|
138
|
-
/** 计算偏移量 */
|
|
139
|
-
protected calculateOffset(offsetX: number, offsetY: number): {
|
|
140
|
-
x: {
|
|
141
|
-
value: number;
|
|
142
|
-
position: number;
|
|
143
|
-
dynamicPosition: number;
|
|
144
|
-
};
|
|
145
|
-
y: {
|
|
146
|
-
value: number;
|
|
147
|
-
position: number;
|
|
148
|
-
dynamicPosition: number;
|
|
149
|
-
};
|
|
150
|
-
};
|
|
151
|
-
/** 处理一维数组的坐标数据 */
|
|
152
|
-
protected handleValuePosition(type: "array1D"): boolean;
|
|
153
|
-
/** 处理二维数组的坐标数据 */
|
|
154
|
-
protected handleValuePosition(type: "array2D", minLen: number): boolean;
|
|
155
|
-
/** 更新基础数据 */
|
|
156
|
-
protected abstract updateBaseData(): void;
|
|
157
|
-
/** 判断当前路径中是否包含指定点 */
|
|
158
|
-
abstract isPointInPath(x: number, y: number): boolean;
|
|
159
|
-
/** 检测某点是否在路径的描边所在的区域内 */
|
|
160
|
-
abstract isPointInStroke(x: number, y: number): boolean;
|
|
161
|
-
/** 检测某点是否在当前覆盖物中 */
|
|
162
|
-
isPointInAnywhere(x: number, y: number): boolean;
|
|
163
|
-
/** 设置透明度 */
|
|
164
|
-
setGlobalAlpha(ctx: CanvasRenderingContext2D): void;
|
|
165
|
-
/** 绘制线基础样式 */
|
|
166
|
-
protected setBaseLineStyle(ctx: CanvasRenderingContext2D, style: BaseLineStyle): BaseLineStyle;
|
|
167
|
-
/** 设置画布样式 */
|
|
168
|
-
protected abstract setOverlayStyles(ctx?: CanvasRenderingContext2D): T;
|
|
169
|
-
/** 光标样式 */
|
|
170
|
-
get cursorStyle(): string | undefined;
|
|
171
|
-
/** 获取绘制函数 */
|
|
172
|
-
abstract getDraw(): [(ctx: CanvasRenderingContext2D) => void, OverlayType] | void;
|
|
173
|
-
}
|
|
174
|
-
export {};
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { default as Overlay } from './public/overlay';
|
|
2
|
-
import { OverlayType } from './index';
|
|
3
|
-
import { EventHandler } from '../public/eventController';
|
|
4
|
-
type ConstructorOption = ConstructorParameters<typeof Overlay<TextStyleType, [number, number]>>[0] & {
|
|
5
|
-
/** 文字 */
|
|
6
|
-
text?: string;
|
|
7
|
-
};
|
|
8
|
-
export default class Text extends Overlay<TextStyleType, [number, number]> {
|
|
9
|
-
/** 文字偏差 */
|
|
10
|
-
private textOffset;
|
|
11
|
-
private _text?;
|
|
12
|
-
/** 文字 */
|
|
13
|
-
get text(): string | undefined;
|
|
14
|
-
set text(text: string | undefined);
|
|
15
|
-
constructor(option: ConstructorOption);
|
|
16
|
-
defaultDragg: EventHandler<"dragg">;
|
|
17
|
-
protected updateValueScope(): void;
|
|
18
|
-
isPointInPath(x: number, y: number): boolean;
|
|
19
|
-
isPointInStroke(x: number, y: number): boolean;
|
|
20
|
-
protected updateBaseData(): void;
|
|
21
|
-
/** 设置样式 */
|
|
22
|
-
setOverlayStyles(ctx: CanvasRenderingContext2D): TextStyleType;
|
|
23
|
-
protected get computedValueScopeStyles(): {};
|
|
24
|
-
draw(ctx: CanvasRenderingContext2D): void;
|
|
25
|
-
getDraw(): [(ctx: CanvasRenderingContext2D) => void, OverlayType] | void;
|
|
26
|
-
}
|
|
27
|
-
export {};
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { default as Canvas } from '..';
|
|
2
|
-
export default class Axis {
|
|
3
|
-
/** 画布 */
|
|
4
|
-
private canvas;
|
|
5
|
-
private axis_canvas;
|
|
6
|
-
private ctx;
|
|
7
|
-
private isReload;
|
|
8
|
-
/** 网格开关 */
|
|
9
|
-
show: {
|
|
10
|
-
all: boolean;
|
|
11
|
-
grid: {
|
|
12
|
-
main: boolean;
|
|
13
|
-
secondary: boolean;
|
|
14
|
-
};
|
|
15
|
-
axis: boolean;
|
|
16
|
-
axisText: boolean;
|
|
17
|
-
};
|
|
18
|
-
constructor(canvas: Canvas);
|
|
19
|
-
private initAxisCanvas;
|
|
20
|
-
/** 开关坐标轴 */
|
|
21
|
-
toggleAxis(show?: boolean | DeepPartial<Axis["show"]>): void;
|
|
22
|
-
drawAxisAndGrid(): HTMLCanvasElement | undefined;
|
|
23
|
-
private color;
|
|
24
|
-
/** 绘制网格 */
|
|
25
|
-
private drawGrid;
|
|
26
|
-
/** 坐标轴 */
|
|
27
|
-
private drawAxis;
|
|
28
|
-
/**
|
|
29
|
-
* 在画布上绘制文本
|
|
30
|
-
*
|
|
31
|
-
* 此函数根据给定的文本、位置和选项参数,在画布上绘制文本它首先配置文本的字体和颜色,
|
|
32
|
-
* 然后根据是否需要次要颜色和当前主题来绘制文本的描边和填充
|
|
33
|
-
*
|
|
34
|
-
* @param text 要绘制的文本内容
|
|
35
|
-
* @param x 文本绘制的横坐标
|
|
36
|
-
* @param y 文本绘制的纵坐标
|
|
37
|
-
* @param secondary 是否为次要颜色
|
|
38
|
-
*/
|
|
39
|
-
private drawText;
|
|
40
|
-
/** 坐标轴 - 文字 */
|
|
41
|
-
private drawAxisText;
|
|
42
|
-
}
|
|
@@ -1,177 +0,0 @@
|
|
|
1
|
-
import { default as Axis } from './axis';
|
|
2
|
-
import { default as LayerGroup } from '../LayerGroup';
|
|
3
|
-
import { default as EventController } from '../public/eventController';
|
|
4
|
-
type ConstructorOption = ConstructorParameters<typeof EventController>[0] & {
|
|
5
|
-
/** 画布 id */
|
|
6
|
-
id: string;
|
|
7
|
-
/** 轴配置 */
|
|
8
|
-
axisConfig?: Parameters<BaseData["setAxis"]>[0];
|
|
9
|
-
/** 默认中心点 */
|
|
10
|
-
defaultCenter?: Parameters<BaseData["setDefaultCenter"]>[0];
|
|
11
|
-
/** 偏移量 */
|
|
12
|
-
offset?: BaseData["offset"];
|
|
13
|
-
/**
|
|
14
|
-
* 缩放比例,用于动态控制坐标轴上数字所对应的实际显示长度,以实现坐标轴显示效果的缩放调整。
|
|
15
|
-
*
|
|
16
|
-
* 默认情况下,scale 的初始值设定为 1,此时坐标轴上数值为 1 的刻度在界面上的实际显示长度为 50px。
|
|
17
|
-
*
|
|
18
|
-
* scale 的值依据特定的计算逻辑动态变化,其计算公式为:scale = 默认值 1 + 滚动周期 * 滚动值,其中滚动周期和滚动值均为可变参数。
|
|
19
|
-
* 例如,当滚动周期为 10,滚动值为 0.02 时,scale 的计算结果为 1 + 10 * 0.02 = 1.2 。在此状态下,坐标轴上数值为 1 的刻度在界面上的实际显示长度会变为 100px。
|
|
20
|
-
*
|
|
21
|
-
* 一般而言,scale 的值越大,相同数值在坐标轴上显示的长度就越长,在视觉上呈现出放大效果;scale 的值越小,相同数值在坐标轴上显示的长度就越短,视觉上呈现出缩小效果。
|
|
22
|
-
* 可通过调整滚动周期和滚动值来灵活改变 scale 的大小,进而满足不同的显示需求。
|
|
23
|
-
*/
|
|
24
|
-
defaultScale?: number;
|
|
25
|
-
};
|
|
26
|
-
/** 基础数据 */
|
|
27
|
-
export default class BaseData extends EventController {
|
|
28
|
-
/** 画布元素 */
|
|
29
|
-
canvas: HTMLCanvasElement;
|
|
30
|
-
/** 画布上下文 */
|
|
31
|
-
ctx: CanvasRenderingContext2D;
|
|
32
|
-
/** rect值是最新的吗 */
|
|
33
|
-
private _rectValueIsUpdated;
|
|
34
|
-
private _rect?;
|
|
35
|
-
/** 画布矩形 */
|
|
36
|
-
get rect(): DOMRect;
|
|
37
|
-
/** 画布偏移量 */
|
|
38
|
-
offset: {
|
|
39
|
-
x: number;
|
|
40
|
-
y: number;
|
|
41
|
-
};
|
|
42
|
-
/** 画布中心点 */
|
|
43
|
-
center: {
|
|
44
|
-
x: number;
|
|
45
|
-
y: number;
|
|
46
|
-
};
|
|
47
|
-
/** 默认画布中心点 */
|
|
48
|
-
defaultCenter: DefaultCenter;
|
|
49
|
-
/** 精度 */
|
|
50
|
-
accuracy: number;
|
|
51
|
-
/**
|
|
52
|
-
* 缩放比例,用于动态控制坐标轴上数字所对应的实际显示长度,以实现坐标轴显示效果的缩放调整。
|
|
53
|
-
*
|
|
54
|
-
* 默认情况下,scale 的初始值设定为 1,此时坐标轴上数值为 1 的刻度在界面上的实际显示长度为 50px。
|
|
55
|
-
*
|
|
56
|
-
* scale 的值依据特定的计算逻辑动态变化,其计算公式为:scale = 默认值 1 + 滚动周期 * 滚动值,其中滚动周期和滚动值均为可变参数。
|
|
57
|
-
* 例如,当滚动周期为 10,滚动值为 0.02 时,scale 的计算结果为 1 + 10 * 0.02 = 1.2 。在此状态下,坐标轴上数值为 1 的刻度在界面上的实际显示长度会变为 100px。
|
|
58
|
-
*
|
|
59
|
-
* 一般而言,scale 的值越大,相同数值在坐标轴上显示的长度就越长,在视觉上呈现出放大效果;scale 的值越小,相同数值在坐标轴上显示的长度就越短,视觉上呈现出缩小效果。
|
|
60
|
-
* 可通过调整滚动周期和滚动值来灵活改变 scale 的大小,进而满足不同的显示需求。
|
|
61
|
-
*/
|
|
62
|
-
scale: number;
|
|
63
|
-
/** 缩放比例 */
|
|
64
|
-
defaultScale: number;
|
|
65
|
-
/** 百分比 */
|
|
66
|
-
percentage: number;
|
|
67
|
-
/**
|
|
68
|
-
* 网格大小设定规则:
|
|
69
|
-
* 1. 基于 count 计算的网格,其内部会被均匀划分为 5 个子网格。
|
|
70
|
-
* 2. 为确保网格在绘制时网格线正常显示,且在缩放操作时能实现平滑过渡
|
|
71
|
-
* min 必须是 5 的整数倍,即 min % 5 === 0。
|
|
72
|
-
*/
|
|
73
|
-
axisConfig: {
|
|
74
|
-
/** 滚轮滚动周期为 0 时单网格代表的数字 */
|
|
75
|
-
count: number;
|
|
76
|
-
/** 网格最小尺寸 */
|
|
77
|
-
min: number;
|
|
78
|
-
/** 网格当前大小 */
|
|
79
|
-
size: number;
|
|
80
|
-
/** x 轴方向:1 右增左减,-1 左增右减 */
|
|
81
|
-
x: 1 | -1;
|
|
82
|
-
/** y 轴方向:1 下增上减,-1 上增下减 */
|
|
83
|
-
y: 1 | -1;
|
|
84
|
-
};
|
|
85
|
-
/**
|
|
86
|
-
* 滚动周期规则说明:
|
|
87
|
-
* 1. 每滚动 10 次构成一个完整的滚动周期。
|
|
88
|
-
* 2. 为保证与网格绘制相适配,滚动周期数值必须为 5 的整数倍。
|
|
89
|
-
*/
|
|
90
|
-
cycle: number;
|
|
91
|
-
/** 滚轮滚动的值 */
|
|
92
|
-
delta: number;
|
|
93
|
-
private _redrawInNextRenderFrame;
|
|
94
|
-
/** 是否在当前渲染帧进行重绘 */
|
|
95
|
-
get redrawInNextRenderFrame(): boolean;
|
|
96
|
-
protected set redrawInNextRenderFrame(value: boolean);
|
|
97
|
-
/** 是否正在自动调整 */
|
|
98
|
-
protected isAuto: boolean;
|
|
99
|
-
/** 是否正在绘制 */
|
|
100
|
-
protected isRendering: boolean;
|
|
101
|
-
/** 绘制坐标轴 */
|
|
102
|
-
drawAxis: Axis;
|
|
103
|
-
/** 图层群组 集合 */
|
|
104
|
-
protected layerGroups: Map<string, LayerGroup>;
|
|
105
|
-
constructor(option: ConstructorOption);
|
|
106
|
-
setNotifyReload(notifyReload?: () => void): void;
|
|
107
|
-
/** 获取默认中心点位置 */
|
|
108
|
-
getDefaultCenterLocation(): void | {
|
|
109
|
-
x: number;
|
|
110
|
-
y: number;
|
|
111
|
-
};
|
|
112
|
-
/** 更新中心点 */
|
|
113
|
-
updateCenter(): void;
|
|
114
|
-
/** 更新网格大小 */
|
|
115
|
-
updateSize(): void;
|
|
116
|
-
/** 缩放比例是否更新 */
|
|
117
|
-
isScaleUpdated: boolean;
|
|
118
|
-
/** 设置缩放 */
|
|
119
|
-
setScale(event: "center" | {
|
|
120
|
-
clientX: number;
|
|
121
|
-
clientY: number;
|
|
122
|
-
}, delta: number): void;
|
|
123
|
-
/** 设置坐标轴 */
|
|
124
|
-
setAxis(config: Partial<BaseData["axisConfig"]>): void;
|
|
125
|
-
/** 设置默认中心 */
|
|
126
|
-
setDefaultCenter(center: Partial<BaseData["defaultCenter"]>): void;
|
|
127
|
-
/**
|
|
128
|
-
* 计算当前缩放级别下的网格尺寸
|
|
129
|
-
* @param scale - 当前缩放比例
|
|
130
|
-
* @returns 计算得到的网格尺寸(像素单位)
|
|
131
|
-
*/
|
|
132
|
-
getGridSize(scale: number): number;
|
|
133
|
-
/**
|
|
134
|
-
* 计算当前缩放级别下显示的网格值
|
|
135
|
-
* @param scale - 当前缩放比例
|
|
136
|
-
* @returns 计算得到的网格数量
|
|
137
|
-
*/
|
|
138
|
-
getGridCount(scale: number): number;
|
|
139
|
-
/** 现在网格计数 */
|
|
140
|
-
private nowGridCount?;
|
|
141
|
-
/** 获取每个网格表示的数字 */
|
|
142
|
-
get getNowGridCount(): number;
|
|
143
|
-
/** 获取鼠标在坐标轴上的位置 */
|
|
144
|
-
getMousePositionOnAxis(event: {
|
|
145
|
-
clientX: number;
|
|
146
|
-
clientY: number;
|
|
147
|
-
}): void | {
|
|
148
|
-
x: number;
|
|
149
|
-
y: number;
|
|
150
|
-
};
|
|
151
|
-
/** 通过坐标轴上的点 获取坐标轴上的值 */
|
|
152
|
-
getAxisValueByPoint(x: number, y: number, returnInitialScaleValue?: boolean): {
|
|
153
|
-
xV: number;
|
|
154
|
-
yV: number;
|
|
155
|
-
};
|
|
156
|
-
/** 通过坐标轴上的值 获取坐标轴上的点 */
|
|
157
|
-
getAxisPointByValue(xV: number, yV: number, returnInitialScaleValue?: boolean): {
|
|
158
|
-
x: number;
|
|
159
|
-
y: number;
|
|
160
|
-
};
|
|
161
|
-
/** 获取最大/小的 值 */
|
|
162
|
-
getMaxMinValue(rect?: {
|
|
163
|
-
left: number;
|
|
164
|
-
top: number;
|
|
165
|
-
right: number;
|
|
166
|
-
bottom: number;
|
|
167
|
-
}): {
|
|
168
|
-
minXV: number;
|
|
169
|
-
maxXV: number;
|
|
170
|
-
minYV: number;
|
|
171
|
-
maxYV: number;
|
|
172
|
-
};
|
|
173
|
-
/** 变换坐标 */
|
|
174
|
-
transformPosition(positions: [number, number]): [number, number];
|
|
175
|
-
transformPosition(positions: [number, number][]): [number, number][];
|
|
176
|
-
}
|
|
177
|
-
export {};
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { default as Style } from './style';
|
|
2
|
-
import { OverlayType } from '../OverlayGroup';
|
|
3
|
-
type ConstructorOption = ConstructorParameters<typeof Style>[0];
|
|
4
|
-
/** 绘制方法 */
|
|
5
|
-
export default class Draw extends Style {
|
|
6
|
-
/** 监听元素大小 */
|
|
7
|
-
private resizeObserver?;
|
|
8
|
-
/** 本次绘制的覆盖物 */
|
|
9
|
-
currentDrawOverlays: OverlayType[];
|
|
10
|
-
/** 计算坐标所需依赖 */
|
|
11
|
-
private rely;
|
|
12
|
-
private isResizeObserverFirstRun;
|
|
13
|
-
constructor(option: ConstructorOption);
|
|
14
|
-
/** 更新 计算坐标所需依赖 */
|
|
15
|
-
private updateRely;
|
|
16
|
-
/** 获取最大/小的 值 */
|
|
17
|
-
maxMinValue: {
|
|
18
|
-
minXV: number;
|
|
19
|
-
maxXV: number;
|
|
20
|
-
minYV: number;
|
|
21
|
-
maxYV: number;
|
|
22
|
-
};
|
|
23
|
-
/** 重绘画布 */
|
|
24
|
-
private redraw;
|
|
25
|
-
/** 测量重绘性能 */
|
|
26
|
-
private measureRedrawPerformance;
|
|
27
|
-
/** 重绘画布 同一个渲染帧只会执行一次 */
|
|
28
|
-
redrawOnce(): void;
|
|
29
|
-
/** 根据坐标查找覆盖物 */
|
|
30
|
-
protected findOverlayByPoint(event: MouseEvent): OverlayType | undefined;
|
|
31
|
-
/** 销毁resizeObserver监听器 */
|
|
32
|
-
protected destroy(): void;
|
|
33
|
-
}
|
|
34
|
-
export {};
|
|
@@ -1,77 +0,0 @@
|
|
|
1
|
-
import { default as Draw } from './draw';
|
|
2
|
-
import { EventHandler } from '../public/eventController';
|
|
3
|
-
type ConstructorOption = ConstructorParameters<typeof Draw>[0];
|
|
4
|
-
/** 事件管理器 */
|
|
5
|
-
export default class Event extends Draw {
|
|
6
|
-
/** 鼠标是否在画布内 */
|
|
7
|
-
private mouseInCanvas;
|
|
8
|
-
/** 鼠标是否按下 */
|
|
9
|
-
private mouseIsDown;
|
|
10
|
-
/** 鼠标上一帧位置 */
|
|
11
|
-
private mouseLastPosition;
|
|
12
|
-
private unBind?;
|
|
13
|
-
constructor(option: ConstructorOption);
|
|
14
|
-
/** 初始化事件 */
|
|
15
|
-
private initEvent;
|
|
16
|
-
/** 上一个被点击的覆盖物 */
|
|
17
|
-
private lastClickedOverlay?;
|
|
18
|
-
private lockNotifyClick;
|
|
19
|
-
/** 鼠标左键点击画布 */
|
|
20
|
-
private click;
|
|
21
|
-
/** 上一个被右击的覆盖物 */
|
|
22
|
-
private lastContextmenuOverlay?;
|
|
23
|
-
/** 鼠标右键点击画布 */
|
|
24
|
-
private contextmenu;
|
|
25
|
-
defaultContextmenu: EventHandler<"contextmenu">;
|
|
26
|
-
/** 鼠标进入画布 */
|
|
27
|
-
private mouseenter;
|
|
28
|
-
/** 鼠标离开画布 */
|
|
29
|
-
private mouseleave;
|
|
30
|
-
/** 上次按下的按键 */
|
|
31
|
-
private lastPressedKey;
|
|
32
|
-
/** 获取按键的步长 */
|
|
33
|
-
private getStep;
|
|
34
|
-
/** 键盘按下事件 */
|
|
35
|
-
private keydown;
|
|
36
|
-
/** 键盘松开事件 */
|
|
37
|
-
private keyup;
|
|
38
|
-
/** 滚轮滚动 */
|
|
39
|
-
private wheel;
|
|
40
|
-
defaultWheel: EventHandler<"wheel">;
|
|
41
|
-
/** 上一个被按下的覆盖物 */
|
|
42
|
-
private lastDownOverlay?;
|
|
43
|
-
/** 鼠标按下 */
|
|
44
|
-
private mousedown;
|
|
45
|
-
defaultDown: EventHandler<"down">;
|
|
46
|
-
/** 鼠标松开 */
|
|
47
|
-
private mouseup;
|
|
48
|
-
/** 上一个被hover的覆盖物 */
|
|
49
|
-
private lastHoverOverlay?;
|
|
50
|
-
/** 鼠标移动 */
|
|
51
|
-
private mousemove;
|
|
52
|
-
/** 处理拖拽移动 */
|
|
53
|
-
private handleDragMove;
|
|
54
|
-
/** 通知可拖拽的 overlays */
|
|
55
|
-
private notifyDraggOverlays;
|
|
56
|
-
/** 处理画布平移 */
|
|
57
|
-
private handleCanvasPan;
|
|
58
|
-
/** 处理 hover 逻辑 */
|
|
59
|
-
private handleHover;
|
|
60
|
-
/** 最后的光标样式 */
|
|
61
|
-
private lastCursorStyle?;
|
|
62
|
-
/** 更新 hover 状态 */
|
|
63
|
-
private updateHoverState;
|
|
64
|
-
/** 清除旧的 hover 状态 */
|
|
65
|
-
private clearHoverState;
|
|
66
|
-
/** 应用新的 hover 状态 */
|
|
67
|
-
private applyHoverState;
|
|
68
|
-
private oldClientX;
|
|
69
|
-
private oldClientY;
|
|
70
|
-
/** 移动端 松开 */
|
|
71
|
-
private touchend;
|
|
72
|
-
/** 移动端 移动 */
|
|
73
|
-
private touchmove;
|
|
74
|
-
/** 销毁事件 */
|
|
75
|
-
destroy(): void;
|
|
76
|
-
}
|
|
77
|
-
export {};
|