@idraw/core 0.4.0-beta.35 → 0.4.0-beta.37
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/esm/index.js +1 -0
- package/dist/esm/middleware/info/config.d.ts +1 -0
- package/dist/esm/middleware/info/config.js +1 -0
- package/dist/esm/middleware/info/draw-info.d.ts +1 -1
- package/dist/esm/middleware/info/index.d.ts +7 -1
- package/dist/esm/middleware/info/index.js +27 -14
- package/dist/esm/middleware/layout-selector/config.d.ts +3 -1
- package/dist/esm/middleware/layout-selector/config.js +3 -1
- package/dist/esm/middleware/layout-selector/index.d.ts +2 -2
- package/dist/esm/middleware/layout-selector/index.js +40 -32
- package/dist/esm/middleware/layout-selector/types.d.ts +4 -2
- package/dist/esm/middleware/layout-selector/types.js +1 -1
- package/dist/esm/middleware/selector/config.d.ts +2 -0
- package/dist/esm/middleware/selector/config.js +2 -0
- package/dist/esm/middleware/selector/draw-debug.d.ts +5 -0
- package/dist/esm/middleware/selector/draw-debug.js +30 -0
- package/dist/esm/middleware/selector/draw-wrapper.d.ts +1 -0
- package/dist/esm/middleware/selector/draw-wrapper.js +8 -6
- package/dist/esm/middleware/selector/index.d.ts +6 -1
- package/dist/esm/middleware/selector/index.js +46 -30
- package/dist/esm/middleware/selector/pattern/icon-rotate.d.ts +4 -0
- package/dist/esm/middleware/selector/pattern/icon-rotate.js +88 -0
- package/dist/esm/middleware/selector/pattern/index.d.ts +5 -0
- package/dist/esm/middleware/selector/pattern/index.js +38 -0
- package/dist/esm/middleware/selector/types.d.ts +2 -1
- package/dist/esm/middleware/selector/types.js +1 -1
- package/dist/esm/middleware/selector/util.js +1 -1
- package/dist/index.global.js +760 -551
- package/dist/index.global.min.js +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { createUUID } from '@idraw/util';
|
|
2
|
+
export const createIconRotate = (opts) => {
|
|
3
|
+
const iconRotate = {
|
|
4
|
+
uuid: createUUID(),
|
|
5
|
+
type: 'path',
|
|
6
|
+
x: 0,
|
|
7
|
+
y: 0,
|
|
8
|
+
w: 200,
|
|
9
|
+
h: 200,
|
|
10
|
+
detail: Object.assign({ commands: [
|
|
11
|
+
{
|
|
12
|
+
type: 'M',
|
|
13
|
+
params: [512, 0]
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
type: 'c',
|
|
17
|
+
params: [282.8, 0, 512, 229.2, 512, 512]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
type: 's',
|
|
21
|
+
params: [-229.2, 512, -512, 512]
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
type: 'S',
|
|
25
|
+
params: [0, 794.8, 0, 512, 229.2, 0, 512, 0]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
type: 'z',
|
|
29
|
+
params: []
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
type: 'm',
|
|
33
|
+
params: [309.8, 253.8]
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
type: 'c',
|
|
37
|
+
params: [0, -10.5, -6.5, -19.8, -15.7, -23.8, -9.7, -4, -21, -2, -28.2, 5.6]
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
type: 'l',
|
|
41
|
+
params: [-52.5, 52]
|
|
42
|
+
},
|
|
43
|
+
{
|
|
44
|
+
type: 'c',
|
|
45
|
+
params: [
|
|
46
|
+
-56.9, -53.7, -133.9, -85.5, -213.4, -85.5, -170.7, 0, -309.8, 139.2, -309.8, 309.8, 0, 170.6, 139.2, 309.8, 309.8, 309.8, 92.4, 0, 179.5, -40.8,
|
|
47
|
+
238.4, -111.8, 4, -5.2, 4, -12.9, -0.8, -17.3
|
|
48
|
+
]
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
type: 'L',
|
|
52
|
+
params: [694.3, 637]
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
type: 'c',
|
|
56
|
+
params: [
|
|
57
|
+
-2.8, -2.4, -6.5, -3.6, -10.1, -3.6, -3.6, 0.4, -7.3, 2, -9.3, 4.8, -39.5, 51.2, -98.8, 80.3, -163, 80.3, -113.8, 0, -206.5, -92.8, -206.5, -206.5,
|
|
58
|
+
0, -113.8, 92.8, -206.5, 206.5, -206.5, 52.8, 0, 102.9, 20.2, 140.8, 55.3
|
|
59
|
+
]
|
|
60
|
+
},
|
|
61
|
+
{
|
|
62
|
+
type: 'L',
|
|
63
|
+
params: [597, 416.5]
|
|
64
|
+
},
|
|
65
|
+
{
|
|
66
|
+
type: 'c',
|
|
67
|
+
params: [-7.7, 7.3, -9.7, 18.6, -5.6, 27.9, 4, 9.7, 13.3, 16.1, 23.8, 16.1]
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
type: 'H',
|
|
71
|
+
params: [796]
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
type: 'c',
|
|
75
|
+
params: [14.1, 0, 25.8, -11.7, 25.8, -25.8]
|
|
76
|
+
},
|
|
77
|
+
{
|
|
78
|
+
type: 'V',
|
|
79
|
+
params: [253.8]
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
type: 'z',
|
|
83
|
+
params: []
|
|
84
|
+
}
|
|
85
|
+
], fill: '#2c2c2c', stroke: 'transparent', strokeWidth: 0, originX: 0, originY: 0, originW: 1024, originH: 1024, opacity: 1 }, opts)
|
|
86
|
+
};
|
|
87
|
+
return iconRotate;
|
|
88
|
+
};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { createOffscreenContext2D } from '@idraw/util';
|
|
2
|
+
import { drawElement } from '@idraw/renderer';
|
|
3
|
+
import { createIconRotate } from './icon-rotate';
|
|
4
|
+
export function createRotateControllerPattern(opts) {
|
|
5
|
+
const { fill, devicePixelRatio } = opts;
|
|
6
|
+
const iconRotate = createIconRotate({ fill });
|
|
7
|
+
const { w, h } = iconRotate;
|
|
8
|
+
const context2d = createOffscreenContext2D({
|
|
9
|
+
width: w,
|
|
10
|
+
height: h,
|
|
11
|
+
devicePixelRatio
|
|
12
|
+
});
|
|
13
|
+
drawElement(context2d, iconRotate, {
|
|
14
|
+
loader: undefined,
|
|
15
|
+
viewScaleInfo: {
|
|
16
|
+
scale: 1,
|
|
17
|
+
offsetTop: 0,
|
|
18
|
+
offsetBottom: 0,
|
|
19
|
+
offsetLeft: 0,
|
|
20
|
+
offsetRight: 0
|
|
21
|
+
},
|
|
22
|
+
viewSizeInfo: {
|
|
23
|
+
width: w,
|
|
24
|
+
height: h,
|
|
25
|
+
devicePixelRatio,
|
|
26
|
+
contextWidth: w,
|
|
27
|
+
contextHeight: h
|
|
28
|
+
},
|
|
29
|
+
parentElementSize: {
|
|
30
|
+
x: 0,
|
|
31
|
+
y: 0,
|
|
32
|
+
w,
|
|
33
|
+
h
|
|
34
|
+
},
|
|
35
|
+
parentOpacity: 1
|
|
36
|
+
});
|
|
37
|
+
return context2d;
|
|
38
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Data, ElementSize, ElementType, Element, ViewContext2D, Point, PointSize, ViewScaleInfo, ViewSizeInfo, ViewCalculator, PointWatcherEvent, BoardMiddleware, ViewRectVertexes, ElementSizeController, ElementPosition } from '@idraw/types';
|
|
2
2
|
import { keyActionType, keyResizeType, keyAreaStart, keyAreaEnd, keyGroupQueue, keyGroupQueueVertexesList, keyHoverElement, keyHoverElementVertexes, keySelectedElementList, keySelectedElementListVertexes, keySelectedElementController, keySelectedElementPosition, keyIsMoving, keyEnableSelectInGroup, keyEnableSnapToGrid, keyDebugElemCenter, keyDebugEnd0, keyDebugEndHorizontal, keyDebugEndVertical, keyDebugStartHorizontal, keyDebugStartVertical } from './config';
|
|
3
|
-
import { keyLayoutIsSelected } from '../layout-selector';
|
|
3
|
+
import { keyLayoutIsSelected, keyLayoutIsBusyMoving } from '../layout-selector';
|
|
4
4
|
export { Data, ElementType, Element, ElementSize, ViewContext2D, Point, PointSize, ViewScaleInfo, ViewSizeInfo, ViewCalculator, PointWatcherEvent, BoardMiddleware };
|
|
5
5
|
export type ControllerStyle = ElementSize & {
|
|
6
6
|
borderWidth: number;
|
|
@@ -42,4 +42,5 @@ export type DeepSelectorSharedStorage = {
|
|
|
42
42
|
[keyDebugStartHorizontal]: PointSize | null;
|
|
43
43
|
[keyDebugStartVertical]: PointSize | null;
|
|
44
44
|
[keyLayoutIsSelected]: boolean | null;
|
|
45
|
+
[keyLayoutIsBusyMoving]: boolean | null;
|
|
45
46
|
};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { keyActionType, keyResizeType, keyAreaStart, keyAreaEnd, keyGroupQueue, keyGroupQueueVertexesList, keyHoverElement, keyHoverElementVertexes, keySelectedElementList, keySelectedElementListVertexes, keySelectedElementController, keySelectedElementPosition, keyIsMoving, keyEnableSelectInGroup, keyEnableSnapToGrid, keyDebugElemCenter, keyDebugEnd0, keyDebugEndHorizontal, keyDebugEndVertical, keyDebugStartHorizontal, keyDebugStartVertical } from './config';
|
|
2
|
-
import { keyLayoutIsSelected } from '../layout-selector';
|
|
2
|
+
import { keyLayoutIsSelected, keyLayoutIsBusyMoving } from '../layout-selector';
|
|
@@ -679,7 +679,7 @@ export function rotateElement(elem, opts) {
|
|
|
679
679
|
});
|
|
680
680
|
const startAngle = limitAngle(angle);
|
|
681
681
|
const changedRadian = calcRadian(elemCenter, start, end);
|
|
682
|
-
const endAngle = startAngle + parseRadianToAngle(changedRadian);
|
|
682
|
+
const endAngle = limitAngle(startAngle + parseRadianToAngle(changedRadian));
|
|
683
683
|
return {
|
|
684
684
|
x,
|
|
685
685
|
y,
|