@idraw/core 0.4.3 → 1.0.0-alpha.1

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.
Files changed (149) hide show
  1. package/dist/esm/board/index.d.ts +2 -2
  2. package/dist/esm/board/index.js +23 -12
  3. package/dist/esm/board/sharer.d.ts +3 -3
  4. package/dist/esm/board/sharer.js +10 -10
  5. package/dist/esm/board/viewer.d.ts +3 -3
  6. package/dist/esm/board/viewer.js +14 -14
  7. package/dist/esm/board/watcher.d.ts +3 -3
  8. package/dist/esm/board/watcher.js +68 -43
  9. package/dist/esm/core.d.ts +52 -0
  10. package/dist/esm/core.js +393 -0
  11. package/dist/esm/cursor/cursor-image.d.ts +2 -0
  12. package/dist/esm/cursor/cursor-image.js +2 -0
  13. package/dist/esm/cursor/cursor.js +60 -24
  14. package/dist/esm/index.d.ts +12 -61
  15. package/dist/esm/index.js +11 -389
  16. package/dist/esm/middlewares/common.d.ts +4 -0
  17. package/dist/esm/middlewares/common.js +13 -0
  18. package/dist/esm/middlewares/creator/dom.d.ts +11 -0
  19. package/dist/esm/middlewares/creator/dom.js +52 -0
  20. package/dist/esm/middlewares/creator/index.d.ts +5 -0
  21. package/dist/esm/middlewares/creator/index.js +136 -0
  22. package/dist/esm/middlewares/creator/static.d.ts +14 -0
  23. package/dist/esm/middlewares/creator/static.js +19 -0
  24. package/dist/esm/middlewares/creator/styles.d.ts +4 -0
  25. package/dist/esm/middlewares/creator/styles.js +32 -0
  26. package/dist/esm/middlewares/creator/types.d.ts +7 -0
  27. package/dist/esm/middlewares/creator/types.js +1 -0
  28. package/dist/esm/middlewares/creator/util.d.ts +10 -0
  29. package/dist/esm/middlewares/creator/util.js +52 -0
  30. package/dist/esm/middlewares/dragger/index.js +5 -5
  31. package/dist/esm/middlewares/info/draw-info.d.ts +11 -11
  32. package/dist/esm/middlewares/info/draw-info.js +18 -18
  33. package/dist/esm/middlewares/info/index.d.ts +2 -1
  34. package/dist/esm/middlewares/info/index.js +48 -51
  35. package/dist/esm/middlewares/info/static.d.ts +6 -0
  36. package/dist/esm/middlewares/info/{config.js → static.js} +6 -1
  37. package/dist/esm/middlewares/info/types.d.ts +2 -2
  38. package/dist/esm/middlewares/layout-selector/dom.d.ts +10 -0
  39. package/dist/esm/middlewares/layout-selector/dom.js +108 -0
  40. package/dist/esm/middlewares/layout-selector/index.d.ts +1 -1
  41. package/dist/esm/middlewares/layout-selector/index.js +89 -141
  42. package/dist/esm/middlewares/layout-selector/static.d.ts +32 -0
  43. package/dist/esm/middlewares/layout-selector/static.js +39 -0
  44. package/dist/esm/middlewares/layout-selector/styles.d.ts +4 -0
  45. package/dist/esm/middlewares/layout-selector/styles.js +127 -0
  46. package/dist/esm/middlewares/layout-selector/types.d.ts +6 -6
  47. package/dist/esm/middlewares/layout-selector/types.js +2 -2
  48. package/dist/esm/middlewares/layout-selector/util.d.ts +4 -4
  49. package/dist/esm/middlewares/layout-selector/util.js +19 -19
  50. package/dist/esm/middlewares/path-creator/dom.d.ts +29 -0
  51. package/dist/esm/middlewares/path-creator/dom.js +145 -0
  52. package/dist/esm/middlewares/path-creator/index.d.ts +5 -0
  53. package/dist/esm/middlewares/path-creator/index.js +203 -0
  54. package/dist/esm/middlewares/path-creator/static.d.ts +23 -0
  55. package/dist/esm/middlewares/path-creator/static.js +49 -0
  56. package/dist/esm/middlewares/path-creator/types.d.ts +1 -0
  57. package/dist/esm/middlewares/path-editor/calc.d.ts +6 -0
  58. package/dist/esm/middlewares/path-editor/calc.js +51 -0
  59. package/dist/esm/middlewares/path-editor/dom.d.ts +32 -0
  60. package/dist/esm/middlewares/path-editor/dom.js +575 -0
  61. package/dist/esm/middlewares/path-editor/draw.d.ts +7 -0
  62. package/dist/esm/middlewares/path-editor/draw.js +113 -0
  63. package/dist/esm/middlewares/path-editor/index.d.ts +5 -0
  64. package/dist/esm/middlewares/path-editor/index.js +312 -0
  65. package/dist/esm/middlewares/path-editor/parse.d.ts +5 -0
  66. package/dist/esm/middlewares/path-editor/parse.js +37 -0
  67. package/dist/esm/middlewares/path-editor/static.d.ts +34 -0
  68. package/dist/esm/middlewares/path-editor/static.js +82 -0
  69. package/dist/esm/middlewares/path-editor/types.d.ts +26 -0
  70. package/dist/esm/middlewares/path-editor/types.js +1 -0
  71. package/dist/esm/middlewares/path-editor/util.d.ts +5 -0
  72. package/dist/esm/middlewares/path-editor/util.js +21 -0
  73. package/dist/esm/middlewares/pointer/index.js +5 -5
  74. package/dist/esm/middlewares/pointer/types.d.ts +2 -2
  75. package/dist/esm/middlewares/ruler/index.d.ts +2 -0
  76. package/dist/esm/middlewares/ruler/index.js +12 -19
  77. package/dist/esm/middlewares/ruler/static.d.ts +8 -0
  78. package/dist/esm/middlewares/ruler/{config.js → static.js} +16 -3
  79. package/dist/esm/middlewares/ruler/types.d.ts +2 -2
  80. package/dist/esm/middlewares/ruler/util.d.ts +6 -6
  81. package/dist/esm/middlewares/ruler/util.js +31 -31
  82. package/dist/esm/middlewares/scaler/index.js +2 -2
  83. package/dist/esm/middlewares/scroller/dom.d.ts +14 -0
  84. package/dist/esm/middlewares/scroller/dom.js +53 -0
  85. package/dist/esm/middlewares/scroller/index.d.ts +2 -0
  86. package/dist/esm/middlewares/scroller/index.js +111 -46
  87. package/dist/esm/middlewares/scroller/static.d.ts +21 -0
  88. package/dist/esm/middlewares/scroller/static.js +29 -0
  89. package/dist/esm/middlewares/scroller/styles.d.ts +4 -0
  90. package/dist/esm/middlewares/scroller/styles.js +73 -0
  91. package/dist/esm/middlewares/scroller/types.d.ts +8 -6
  92. package/dist/esm/middlewares/scroller/types.js +1 -1
  93. package/dist/esm/middlewares/scroller/util.d.ts +6 -13
  94. package/dist/esm/middlewares/scroller/util.js +15 -144
  95. package/dist/esm/middlewares/selector/dom.d.ts +21 -0
  96. package/dist/esm/middlewares/selector/dom.js +395 -0
  97. package/dist/esm/middlewares/selector/draw-base.d.ts +9 -21
  98. package/dist/esm/middlewares/selector/draw-base.js +19 -43
  99. package/dist/esm/middlewares/selector/draw-reference.d.ts +4 -5
  100. package/dist/esm/middlewares/selector/draw-reference.js +5 -5
  101. package/dist/esm/middlewares/selector/index.d.ts +4 -2
  102. package/dist/esm/middlewares/selector/index.js +315 -439
  103. package/dist/esm/middlewares/selector/reference.d.ts +5 -5
  104. package/dist/esm/middlewares/selector/reference.js +36 -30
  105. package/dist/esm/middlewares/selector/render-frame.d.ts +11 -0
  106. package/dist/esm/middlewares/selector/render-frame.js +107 -0
  107. package/dist/esm/middlewares/selector/resize.d.ts +7 -0
  108. package/dist/esm/middlewares/selector/resize.js +27 -0
  109. package/dist/esm/middlewares/selector/static.d.ts +67 -0
  110. package/dist/esm/middlewares/selector/static.js +92 -0
  111. package/dist/esm/middlewares/selector/styles.d.ts +4 -0
  112. package/dist/esm/middlewares/selector/styles.js +153 -0
  113. package/dist/esm/middlewares/selector/types.d.ts +27 -27
  114. package/dist/esm/middlewares/selector/types.js +1 -1
  115. package/dist/esm/middlewares/selector/util.d.ts +22 -32
  116. package/dist/esm/middlewares/selector/util.js +226 -243
  117. package/dist/esm/middlewares/text-editor/dom.d.ts +5 -0
  118. package/dist/esm/middlewares/text-editor/dom.js +135 -0
  119. package/dist/esm/middlewares/text-editor/index.d.ts +5 -20
  120. package/dist/esm/middlewares/text-editor/index.js +201 -208
  121. package/dist/esm/middlewares/text-editor/static.d.ts +10 -0
  122. package/dist/esm/middlewares/text-editor/static.js +17 -0
  123. package/dist/esm/middlewares/text-editor/types.d.ts +21 -0
  124. package/dist/esm/middlewares/text-editor/types.js +1 -0
  125. package/dist/esm/record.d.ts +5 -5
  126. package/dist/esm/record.js +14 -14
  127. package/dist/esm/{config.d.ts → static.d.ts} +16 -0
  128. package/dist/esm/{config.js → static.js} +18 -2
  129. package/dist/index.global.js +8934 -5647
  130. package/dist/index.global.min.js +1 -1
  131. package/package.json +4 -4
  132. package/dist/esm/middlewares/info/config.d.ts +0 -5
  133. package/dist/esm/middlewares/layout-selector/config.d.ts +0 -11
  134. package/dist/esm/middlewares/layout-selector/config.js +0 -12
  135. package/dist/esm/middlewares/ruler/config.d.ts +0 -7
  136. package/dist/esm/middlewares/scroller/config.d.ts +0 -10
  137. package/dist/esm/middlewares/scroller/config.js +0 -16
  138. package/dist/esm/middlewares/selector/config.d.ts +0 -30
  139. package/dist/esm/middlewares/selector/config.js +0 -38
  140. package/dist/esm/middlewares/selector/draw-auxiliary.js +0 -12
  141. package/dist/esm/middlewares/selector/draw-debug.d.ts +0 -5
  142. package/dist/esm/middlewares/selector/draw-debug.js +0 -30
  143. package/dist/esm/middlewares/selector/draw-wrapper.d.ts +0 -37
  144. package/dist/esm/middlewares/selector/draw-wrapper.js +0 -139
  145. package/dist/esm/middlewares/selector/pattern/icon-rotate.d.ts +0 -4
  146. package/dist/esm/middlewares/selector/pattern/icon-rotate.js +0 -88
  147. package/dist/esm/middlewares/selector/pattern/index.d.ts +0 -8
  148. package/dist/esm/middlewares/selector/pattern/index.js +0 -38
  149. /package/dist/esm/middlewares/{selector/draw-auxiliary.d.ts → path-creator/types.js} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@idraw/core",
3
- "version": "0.4.3",
3
+ "version": "1.0.0-alpha.1",
4
4
  "description": "",
5
5
  "main": "dist/esm/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -21,12 +21,12 @@
21
21
  "author": "idrawjs",
22
22
  "license": "MIT",
23
23
  "devDependencies": {
24
- "@idraw/types": "^0.4.3"
24
+ "@idraw/types": "^1.0.0-alpha.1"
25
25
  },
26
26
  "dependencies": {},
27
27
  "peerDependencies": {
28
- "@idraw/renderer": "^0.4.3",
29
- "@idraw/util": "^0.4.3"
28
+ "@idraw/renderer": "^1.0.0-alpha.1",
29
+ "@idraw/util": "^1.0.0-alpha.1"
30
30
  },
31
31
  "publishConfig": {
32
32
  "access": "public",
@@ -1,5 +0,0 @@
1
- import type { MiddlewareInfoStyle } from '@idraw/types';
2
- export declare const infoFontSize = 10;
3
- export declare const infoLineHeight = 16;
4
- export declare const MIDDLEWARE_INTERNAL_EVENT_SHOW_INFO_ANGLE = "@middleware/internal-event/show-info-angle";
5
- export declare const defaltStyle: MiddlewareInfoStyle;
@@ -1,11 +0,0 @@
1
- import type { MiddlewareLayoutSelectorStyle } from '@idraw/types';
2
- export declare const key = "LAYOUT_SELECT";
3
- export declare const keyLayoutActionType: unique symbol;
4
- export declare const keyLayoutControlType: unique symbol;
5
- export declare const keyLayoutController: unique symbol;
6
- export declare const keyLayoutIsHoverContent: unique symbol;
7
- export declare const keyLayoutIsHoverController: unique symbol;
8
- export declare const keyLayoutIsSelected: unique symbol;
9
- export declare const keyLayoutIsBusyMoving: unique symbol;
10
- export declare const controllerSize = 10;
11
- export declare const defaultStyle: MiddlewareLayoutSelectorStyle;
@@ -1,12 +0,0 @@
1
- export const key = 'LAYOUT_SELECT';
2
- export const keyLayoutActionType = Symbol(`${key}_layoutActionType`);
3
- export const keyLayoutControlType = Symbol(`${key}_layoutControlType`);
4
- export const keyLayoutController = Symbol(`${key}_layoutController`);
5
- export const keyLayoutIsHoverContent = Symbol(`${key}_layoutIsHoverContent`);
6
- export const keyLayoutIsHoverController = Symbol(`${key}_layoutIsHoverController`);
7
- export const keyLayoutIsSelected = Symbol(`${key}_layoutIsSelected`);
8
- export const keyLayoutIsBusyMoving = Symbol(`${key}_layoutIsSelected`);
9
- export const controllerSize = 10;
10
- export const defaultStyle = {
11
- activeColor: '#b331c9'
12
- };
@@ -1,7 +0,0 @@
1
- import type { MiddlewareRulerStyle } from '@idraw/types';
2
- export declare const rulerSize = 16;
3
- export declare const fontSize = 10;
4
- export declare const fontWeight = 100;
5
- export declare const lineSize = 1;
6
- export declare const fontFamily = "monospace";
7
- export declare const defaultStyle: MiddlewareRulerStyle;
@@ -1,10 +0,0 @@
1
- import type { MiddlewareScrollerStyle } from '@idraw/types';
2
- export declare const key = "SCROLL";
3
- export declare const keyXThumbRect: unique symbol;
4
- export declare const keyYThumbRect: unique symbol;
5
- export declare const keyHoverXThumbRect: unique symbol;
6
- export declare const keyHoverYThumbRect: unique symbol;
7
- export declare const keyPrevPoint: unique symbol;
8
- export declare const keyActivePoint: unique symbol;
9
- export declare const keyActiveThumbType: unique symbol;
10
- export declare const defaultStyle: MiddlewareScrollerStyle;
@@ -1,16 +0,0 @@
1
- export const key = 'SCROLL';
2
- export const keyXThumbRect = Symbol(`${key}_xThumbRect`);
3
- export const keyYThumbRect = Symbol(`${key}_yThumbRect`);
4
- export const keyHoverXThumbRect = Symbol(`${key}_hoverXThumbRect`);
5
- export const keyHoverYThumbRect = Symbol(`${key}_hoverYThumbRect`);
6
- export const keyPrevPoint = Symbol(`${key}_prevPoint`);
7
- export const keyActivePoint = Symbol(`${key}_activePoint`);
8
- export const keyActiveThumbType = Symbol(`${key}_activeThumbType`);
9
- export const defaultStyle = {
10
- thumbBackground: '#0000003A',
11
- thumbBorderColor: '#0000008A',
12
- hoverThumbBackground: '#0000005F',
13
- hoverThumbBorderColor: '#000000EE',
14
- activeThumbBackground: '#0000005E',
15
- activeThumbBorderColor: '#000000F0'
16
- };
@@ -1,30 +0,0 @@
1
- import type { MiddlewareSelectorStyle } from '@idraw/types';
2
- export declare const key = "SELECT";
3
- export declare const keyActionType: unique symbol;
4
- export declare const keyResizeType: unique symbol;
5
- export declare const keyAreaStart: unique symbol;
6
- export declare const keyAreaEnd: unique symbol;
7
- export declare const keyHoverElement: unique symbol;
8
- export declare const keyHoverElementVertexes: unique symbol;
9
- export declare const keySelectedElementList: unique symbol;
10
- export declare const keySelectedElementListVertexes: unique symbol;
11
- export declare const keySelectedElementController: unique symbol;
12
- export declare const keySelectedElementPosition: unique symbol;
13
- export declare const keyGroupQueue: unique symbol;
14
- export declare const keyGroupQueueVertexesList: unique symbol;
15
- export declare const keyIsMoving: unique symbol;
16
- export declare const keyEnableSelectInGroup: unique symbol;
17
- export declare const keyEnableSnapToGrid: unique symbol;
18
- export declare const keyDebugElemCenter: unique symbol;
19
- export declare const keyDebugStartVertical: unique symbol;
20
- export declare const keyDebugEndVertical: unique symbol;
21
- export declare const keyDebugStartHorizontal: unique symbol;
22
- export declare const keyDebugEndHorizontal: unique symbol;
23
- export declare const keyDebugEnd0: unique symbol;
24
- export declare const selectWrapperBorderWidth = 2;
25
- export declare const resizeControllerBorderWidth = 4;
26
- export declare const areaBorderWidth = 1;
27
- export declare const controllerSize = 10;
28
- export declare const rotateControllerSize = 20;
29
- export declare const rotateControllerPosition = 22;
30
- export declare const defaultStyle: MiddlewareSelectorStyle;
@@ -1,38 +0,0 @@
1
- export const key = 'SELECT';
2
- export const keyActionType = Symbol(`${key}_actionType`);
3
- export const keyResizeType = Symbol(`${key}_resizeType`);
4
- export const keyAreaStart = Symbol(`${key}_areaStart`);
5
- export const keyAreaEnd = Symbol(`${key}_areaEnd`);
6
- export const keyHoverElement = Symbol(`${key}_hoverElement`);
7
- export const keyHoverElementVertexes = Symbol(`${key}_hoverElementVertexes`);
8
- export const keySelectedElementList = Symbol(`${key}_selectedElementList`);
9
- export const keySelectedElementListVertexes = Symbol(`${key}_selectedElementListVertexes`);
10
- export const keySelectedElementController = Symbol(`${key}_selectedElementController`);
11
- export const keySelectedElementPosition = Symbol(`${key}_selectedElementPosition`);
12
- export const keyGroupQueue = Symbol(`${key}_groupQueue`);
13
- export const keyGroupQueueVertexesList = Symbol(`${key}_groupQueueVertexesList`);
14
- export const keyIsMoving = Symbol(`${key}_isMoving`);
15
- export const keyEnableSelectInGroup = Symbol(`${key}_enableSelectInGroup`);
16
- export const keyEnableSnapToGrid = Symbol(`${key}_enableSnapToGrid`);
17
- export const keyDebugElemCenter = Symbol(`${key}_debug_elemCenter`);
18
- export const keyDebugStartVertical = Symbol(`${key}_debug_startVertical`);
19
- export const keyDebugEndVertical = Symbol(`${key}_debug_endVertical`);
20
- export const keyDebugStartHorizontal = Symbol(`${key}_debug_startHorizontal`);
21
- export const keyDebugEndHorizontal = Symbol(`${key}_debug_endHorizontal`);
22
- export const keyDebugEnd0 = Symbol(`${key}_debug_end0`);
23
- export const selectWrapperBorderWidth = 2;
24
- export const resizeControllerBorderWidth = 4;
25
- export const areaBorderWidth = 1;
26
- export const controllerSize = 10;
27
- export const rotateControllerSize = 20;
28
- export const rotateControllerPosition = 22;
29
- const activeColor = '#1973ba';
30
- const activeAreaColor = '#1976d21c';
31
- const lockedColor = '#5b5959b5';
32
- const referenceColor = '#f7276e';
33
- export const defaultStyle = {
34
- activeColor,
35
- activeAreaColor,
36
- lockedColor,
37
- referenceColor
38
- };
@@ -1,12 +0,0 @@
1
- function getViewBoxInfo(rectInfo) {
2
- const boxInfo = {
3
- minX: rectInfo.topLeft.x,
4
- minY: rectInfo.topLeft.y,
5
- maxX: rectInfo.bottomRight.x,
6
- maxY: rectInfo.bottomRight.y,
7
- midX: rectInfo.center.x,
8
- midY: rectInfo.center.y
9
- };
10
- return boxInfo;
11
- }
12
- export {};
@@ -1,5 +0,0 @@
1
- import type { ElementSizeController, ViewContext2D, ViewSizeInfo, ViewScaleInfo } from '@idraw/types';
2
- export declare function drawDebugStoreSelectedElementController(ctx: ViewContext2D, controller: ElementSizeController | null, opts: {
3
- viewSizeInfo: ViewSizeInfo;
4
- viewScaleInfo: ViewScaleInfo;
5
- }): void;
@@ -1,30 +0,0 @@
1
- import { calcViewPointSize } from '@idraw/util';
2
- function drawDebugControllerVertexes(opts) {
3
- const { ctx, viewScaleInfo, vertexes } = opts;
4
- const v0 = calcViewPointSize(vertexes[0], { viewScaleInfo });
5
- const v1 = calcViewPointSize(vertexes[1], { viewScaleInfo });
6
- const v2 = calcViewPointSize(vertexes[2], { viewScaleInfo });
7
- const v3 = calcViewPointSize(vertexes[3], { viewScaleInfo });
8
- ctx.beginPath();
9
- ctx.fillStyle = '#FF0000A1';
10
- ctx.moveTo(v0.x, v0.y);
11
- ctx.lineTo(v1.x, v1.y);
12
- ctx.lineTo(v2.x, v2.y);
13
- ctx.lineTo(v3.x, v3.y);
14
- ctx.lineTo(v0.x, v0.y);
15
- ctx.closePath();
16
- ctx.fill('nonzero');
17
- return false;
18
- }
19
- export function drawDebugStoreSelectedElementController(ctx, controller, opts) {
20
- if (!controller) {
21
- return;
22
- }
23
- const { viewSizeInfo, viewScaleInfo } = opts;
24
- const { left, right, top, bottom, topLeft, topRight, bottomLeft, bottomRight, rotate } = controller;
25
- const ctrls = [left, right, top, bottom, topLeft, topRight, bottomLeft, bottomRight, rotate];
26
- for (let i = 0; i < ctrls.length; i++) {
27
- const ctrl = ctrls[i];
28
- drawDebugControllerVertexes({ ctx, vertexes: ctrl.vertexes, viewSizeInfo, viewScaleInfo });
29
- }
30
- }
@@ -1,37 +0,0 @@
1
- import type { Element, ElementType, PointSize, RendererDrawElementOptions, ViewContext2D, ViewRectVertexes, ViewScaleInfo, ViewSizeInfo, ElementSizeController, ViewCalculator, MiddlewareSelectorStyle } from '@idraw/types';
2
- import type { AreaSize } from './types';
3
- export declare function drawHoverVertexesWrapper(ctx: ViewContext2D, vertexes: ViewRectVertexes | null, opts: {
4
- viewScaleInfo: ViewScaleInfo;
5
- viewSizeInfo: ViewSizeInfo;
6
- style: MiddlewareSelectorStyle;
7
- }): void;
8
- export declare function drawLockedVertexesWrapper(ctx: ViewContext2D, vertexes: ViewRectVertexes | null, opts: {
9
- viewScaleInfo: ViewScaleInfo;
10
- viewSizeInfo: ViewSizeInfo;
11
- controller?: ElementSizeController | null;
12
- style: MiddlewareSelectorStyle;
13
- }): void;
14
- export declare function drawSelectedElementControllersVertexes(ctx: ViewContext2D, controller: ElementSizeController | null, opts: {
15
- hideControllers: boolean;
16
- viewScaleInfo: ViewScaleInfo;
17
- viewSizeInfo: ViewSizeInfo;
18
- element: Element | null;
19
- calculator: ViewCalculator;
20
- style: MiddlewareSelectorStyle;
21
- rotateControllerPattern: ViewContext2D;
22
- }): void;
23
- export declare function drawElementListShadows(ctx: ViewContext2D, elements: Element<ElementType>[], opts?: Omit<RendererDrawElementOptions, 'loader'>): void;
24
- export declare function drawArea(ctx: ViewContext2D, opts: {
25
- start: PointSize;
26
- end: PointSize;
27
- style: MiddlewareSelectorStyle;
28
- }): void;
29
- export declare function drawListArea(ctx: ViewContext2D, opts: {
30
- areaSize: AreaSize;
31
- style: MiddlewareSelectorStyle;
32
- }): void;
33
- export declare function drawGroupQueueVertexesWrappers(ctx: ViewContext2D, vertexesList: ViewRectVertexes[], opts: {
34
- viewScaleInfo: ViewScaleInfo;
35
- viewSizeInfo: ViewSizeInfo;
36
- style: MiddlewareSelectorStyle;
37
- }): void;
@@ -1,139 +0,0 @@
1
- import { rotateElementVertexes, calcViewPointSize, calcViewVertexes, calcViewElementSize } from '@idraw/util';
2
- import { resizeControllerBorderWidth, areaBorderWidth, selectWrapperBorderWidth } from './config';
3
- import { drawVertexes, drawCircleController, drawCrossVertexes } from './draw-base';
4
- export function drawHoverVertexesWrapper(ctx, vertexes, opts) {
5
- if (!vertexes) {
6
- return;
7
- }
8
- const { style } = opts;
9
- const { activeColor } = style;
10
- const wrapperOpts = { borderColor: activeColor, borderWidth: 1, background: 'transparent', lineDash: [] };
11
- drawVertexes(ctx, calcViewVertexes(vertexes, opts), wrapperOpts);
12
- }
13
- export function drawLockedVertexesWrapper(ctx, vertexes, opts) {
14
- if (!vertexes) {
15
- return;
16
- }
17
- const { style } = opts;
18
- const { lockedColor } = style;
19
- const wrapperOpts = { borderColor: lockedColor, borderWidth: 1, background: 'transparent', lineDash: [] };
20
- drawVertexes(ctx, calcViewVertexes(vertexes, opts), wrapperOpts);
21
- const { controller } = opts;
22
- if (controller) {
23
- const { topLeft, topRight, bottomLeft, bottomRight, topMiddle, bottomMiddle, leftMiddle, rightMiddle } = controller;
24
- const ctrlOpts = Object.assign(Object.assign({}, wrapperOpts), { borderWidth: 1, background: lockedColor });
25
- drawCrossVertexes(ctx, calcViewVertexes(topMiddle.vertexes, opts), ctrlOpts);
26
- drawCrossVertexes(ctx, calcViewVertexes(bottomMiddle.vertexes, opts), ctrlOpts);
27
- drawCrossVertexes(ctx, calcViewVertexes(leftMiddle.vertexes, opts), ctrlOpts);
28
- drawCrossVertexes(ctx, calcViewVertexes(rightMiddle.vertexes, opts), ctrlOpts);
29
- drawCrossVertexes(ctx, calcViewVertexes(topLeft.vertexes, opts), ctrlOpts);
30
- drawCrossVertexes(ctx, calcViewVertexes(topRight.vertexes, opts), ctrlOpts);
31
- drawCrossVertexes(ctx, calcViewVertexes(bottomLeft.vertexes, opts), ctrlOpts);
32
- drawCrossVertexes(ctx, calcViewVertexes(bottomRight.vertexes, opts), ctrlOpts);
33
- }
34
- }
35
- export function drawSelectedElementControllersVertexes(ctx, controller, opts) {
36
- var _a;
37
- if (!controller) {
38
- return;
39
- }
40
- const { hideControllers, style, rotateControllerPattern, viewSizeInfo, element } = opts;
41
- const { devicePixelRatio = 1 } = viewSizeInfo;
42
- const { activeColor } = style;
43
- const { elementWrapper, topLeft, topRight, bottomLeft, bottomRight, rotate } = controller;
44
- const wrapperOpts = {
45
- borderColor: activeColor,
46
- borderWidth: selectWrapperBorderWidth,
47
- background: 'transparent',
48
- lineDash: []
49
- };
50
- const ctrlOpts = Object.assign(Object.assign({}, wrapperOpts), { borderWidth: resizeControllerBorderWidth, background: '#FFFFFF' });
51
- drawVertexes(ctx, calcViewVertexes(elementWrapper, opts), wrapperOpts);
52
- if (!hideControllers) {
53
- drawVertexes(ctx, calcViewVertexes(topLeft.vertexes, opts), ctrlOpts);
54
- drawVertexes(ctx, calcViewVertexes(topRight.vertexes, opts), ctrlOpts);
55
- drawVertexes(ctx, calcViewVertexes(bottomLeft.vertexes, opts), ctrlOpts);
56
- drawVertexes(ctx, calcViewVertexes(bottomRight.vertexes, opts), ctrlOpts);
57
- if (((_a = element === null || element === void 0 ? void 0 : element.operations) === null || _a === void 0 ? void 0 : _a.rotatable) !== false) {
58
- drawCircleController(ctx, calcViewPointSize(rotate.center, opts), Object.assign(Object.assign({}, ctrlOpts), { size: rotate.size, borderWidth: 0 }));
59
- const rotateCenter = calcViewPointSize(rotate.center, opts);
60
- ctx.drawImage(rotateControllerPattern.canvas, 0, 0, rotateControllerPattern.canvas.width / devicePixelRatio, rotateControllerPattern.canvas.height / devicePixelRatio, rotateCenter.x - rotate.size / 2, rotateCenter.y - rotate.size / 2, rotate.size, rotate.size);
61
- }
62
- }
63
- }
64
- export function drawElementListShadows(ctx, elements, opts) {
65
- elements.forEach((elem) => {
66
- let { x, y, w, h } = elem;
67
- const { angle = 0 } = elem;
68
- if (opts === null || opts === void 0 ? void 0 : opts.calculator) {
69
- const size = calcViewElementSize({ x, y, w, h }, opts);
70
- x = size.x;
71
- y = size.y;
72
- w = size.w;
73
- h = size.h;
74
- }
75
- const vertexes = rotateElementVertexes({ x, y, w, h, angle });
76
- if (vertexes.length >= 2) {
77
- ctx.setLineDash([]);
78
- ctx.lineWidth = 1;
79
- ctx.strokeStyle = '#aaaaaa';
80
- ctx.fillStyle = '#0000001A';
81
- ctx.beginPath();
82
- ctx.moveTo(vertexes[0].x, vertexes[0].y);
83
- for (let i = 0; i < vertexes.length; i++) {
84
- const p = vertexes[i];
85
- ctx.lineTo(p.x, p.y);
86
- }
87
- ctx.closePath();
88
- ctx.stroke();
89
- ctx.fill('nonzero');
90
- }
91
- });
92
- }
93
- export function drawArea(ctx, opts) {
94
- const { start, end, style } = opts;
95
- const { activeColor, activeAreaColor } = style;
96
- ctx.setLineDash([]);
97
- ctx.lineWidth = areaBorderWidth;
98
- ctx.strokeStyle = activeColor;
99
- ctx.fillStyle = activeAreaColor;
100
- ctx.beginPath();
101
- ctx.moveTo(start.x, start.y);
102
- ctx.lineTo(end.x, start.y);
103
- ctx.lineTo(end.x, end.y);
104
- ctx.lineTo(start.x, end.y);
105
- ctx.closePath();
106
- ctx.stroke();
107
- ctx.fill('nonzero');
108
- }
109
- export function drawListArea(ctx, opts) {
110
- const { areaSize, style } = opts;
111
- const { activeColor, activeAreaColor } = style;
112
- const { x, y, w, h } = areaSize;
113
- ctx.setLineDash([]);
114
- ctx.lineWidth = areaBorderWidth;
115
- ctx.strokeStyle = activeColor;
116
- ctx.fillStyle = activeAreaColor;
117
- ctx.beginPath();
118
- ctx.moveTo(x, y);
119
- ctx.lineTo(x + w, y);
120
- ctx.lineTo(x + w, y + h);
121
- ctx.lineTo(x, y + h);
122
- ctx.closePath();
123
- ctx.stroke();
124
- ctx.fill('nonzero');
125
- }
126
- export function drawGroupQueueVertexesWrappers(ctx, vertexesList, opts) {
127
- const { style } = opts;
128
- const { activeColor } = style;
129
- for (let i = 0; i < vertexesList.length; i++) {
130
- const vertexes = vertexesList[i];
131
- const wrapperOpts = {
132
- borderColor: activeColor,
133
- borderWidth: selectWrapperBorderWidth,
134
- background: 'transparent',
135
- lineDash: [4, 4]
136
- };
137
- drawVertexes(ctx, calcViewVertexes(vertexes, opts), wrapperOpts);
138
- }
139
- }
@@ -1,4 +0,0 @@
1
- import type { Element } from '@idraw/types';
2
- export declare const createIconRotate: (opts?: {
3
- fill?: string;
4
- }) => Element<"path", Record<string, any>>;
@@ -1,88 +0,0 @@
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
- };
@@ -1,8 +0,0 @@
1
- import type { ViewContext2D } from '@idraw/types';
2
- export declare function createRotateControllerPattern(opts: {
3
- fill: string;
4
- devicePixelRatio: number;
5
- }): {
6
- context2d: ViewContext2D;
7
- fill: string;
8
- };
@@ -1,38 +0,0 @@
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, fill };
38
- }