@mlightcad/cad-simple-viewer 1.5.1 → 1.5.3

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 (178) hide show
  1. package/README.md +2 -1
  2. package/dist/index.js +53553 -27346
  3. package/dist/index.umd.cjs +601 -606
  4. package/dist/mtext-renderer-worker.js +1877 -1878
  5. package/lib/app/AcApDocManager.d.ts +13 -3
  6. package/lib/app/AcApDocManager.d.ts.map +1 -1
  7. package/lib/app/AcApDocManager.js +63 -29
  8. package/lib/app/AcApDocManager.js.map +1 -1
  9. package/lib/app/index.d.ts +1 -0
  10. package/lib/app/index.d.ts.map +1 -1
  11. package/lib/app/index.js +1 -0
  12. package/lib/app/index.js.map +1 -1
  13. package/lib/app/openFileProgress.d.ts +10 -0
  14. package/lib/app/openFileProgress.d.ts.map +1 -0
  15. package/lib/app/openFileProgress.js +20 -0
  16. package/lib/app/openFileProgress.js.map +1 -0
  17. package/lib/command/AcApSwitchBgCmd.d.ts +3 -0
  18. package/lib/command/AcApSwitchBgCmd.d.ts.map +1 -1
  19. package/lib/command/AcApSwitchBgCmd.js +14 -7
  20. package/lib/command/AcApSwitchBgCmd.js.map +1 -1
  21. package/lib/command/AcApZoomCmd.d.ts.map +1 -1
  22. package/lib/command/AcApZoomCmd.js.map +1 -1
  23. package/lib/command/convert/index.d.ts +0 -4
  24. package/lib/command/convert/index.d.ts.map +1 -1
  25. package/lib/command/convert/index.js +0 -4
  26. package/lib/command/convert/index.js.map +1 -1
  27. package/lib/command/draw/AcApArcCmd.d.ts.map +1 -1
  28. package/lib/command/draw/AcApArcCmd.js +2 -1
  29. package/lib/command/draw/AcApArcCmd.js.map +1 -1
  30. package/lib/command/draw/AcApCircleCmd.d.ts.map +1 -1
  31. package/lib/command/draw/AcApCircleCmd.js.map +1 -1
  32. package/lib/command/draw/AcApEllipseCmd.d.ts.map +1 -1
  33. package/lib/command/draw/AcApEllipseCmd.js.map +1 -1
  34. package/lib/command/draw/AcApPolylineCmd.d.ts.map +1 -1
  35. package/lib/command/draw/AcApPolylineCmd.js.map +1 -1
  36. package/lib/command/draw/AcApRayCmd.d.ts.map +1 -1
  37. package/lib/command/draw/AcApRayCmd.js.map +1 -1
  38. package/lib/command/draw/AcApRectCmd.d.ts.map +1 -1
  39. package/lib/command/draw/AcApRectCmd.js +2 -1
  40. package/lib/command/draw/AcApRectCmd.js.map +1 -1
  41. package/lib/command/draw/AcApXLineCmd.d.ts.map +1 -1
  42. package/lib/command/draw/AcApXLineCmd.js.map +1 -1
  43. package/lib/command/modify/AcApOffsetCmd.d.ts.map +1 -1
  44. package/lib/command/modify/AcApOffsetCmd.js +2 -1
  45. package/lib/command/modify/AcApOffsetCmd.js.map +1 -1
  46. package/lib/editor/global/AcEdUiColor.d.ts +183 -0
  47. package/lib/editor/global/AcEdUiColor.d.ts.map +1 -0
  48. package/lib/editor/global/AcEdUiColor.js +224 -0
  49. package/lib/editor/global/AcEdUiColor.js.map +1 -0
  50. package/lib/editor/global/AcEdUiTheme.d.ts +0 -1
  51. package/lib/editor/global/AcEdUiTheme.d.ts.map +1 -1
  52. package/lib/editor/global/AcEdUiTheme.js +0 -5
  53. package/lib/editor/global/AcEdUiTheme.js.map +1 -1
  54. package/lib/editor/global/eventBus.d.ts +3 -0
  55. package/lib/editor/global/eventBus.d.ts.map +1 -1
  56. package/lib/editor/global/eventBus.js.map +1 -1
  57. package/lib/editor/global/index.d.ts +1 -0
  58. package/lib/editor/global/index.d.ts.map +1 -1
  59. package/lib/editor/global/index.js +1 -0
  60. package/lib/editor/global/index.js.map +1 -1
  61. package/lib/editor/input/AcEdCursorManager.d.ts +4 -0
  62. package/lib/editor/input/AcEdCursorManager.d.ts.map +1 -1
  63. package/lib/editor/input/AcEdCursorManager.js +11 -8
  64. package/lib/editor/input/AcEdCursorManager.js.map +1 -1
  65. package/lib/editor/input/AcEdOrthoMode.d.ts +11 -0
  66. package/lib/editor/input/AcEdOrthoMode.d.ts.map +1 -0
  67. package/lib/editor/input/AcEdOrthoMode.js +22 -0
  68. package/lib/editor/input/AcEdOrthoMode.js.map +1 -0
  69. package/lib/editor/input/AcEdPolarTracking.d.ts +107 -0
  70. package/lib/editor/input/AcEdPolarTracking.d.ts.map +1 -0
  71. package/lib/editor/input/AcEdPolarTracking.js +398 -0
  72. package/lib/editor/input/AcEdPolarTracking.js.map +1 -0
  73. package/lib/editor/input/AcEditor.d.ts +4 -0
  74. package/lib/editor/input/AcEditor.d.ts.map +1 -1
  75. package/lib/editor/input/AcEditor.js +6 -0
  76. package/lib/editor/input/AcEditor.js.map +1 -1
  77. package/lib/editor/input/index.d.ts +2 -0
  78. package/lib/editor/input/index.d.ts.map +1 -1
  79. package/lib/editor/input/index.js +2 -0
  80. package/lib/editor/input/index.js.map +1 -1
  81. package/lib/editor/input/marker/AcEdMarker.d.ts.map +1 -1
  82. package/lib/editor/input/marker/AcEdMarker.js +3 -2
  83. package/lib/editor/input/marker/AcEdMarker.js.map +1 -1
  84. package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts +4 -0
  85. package/lib/editor/input/marker/AcEdOSnapMarkerManager.d.ts.map +1 -1
  86. package/lib/editor/input/marker/AcEdOSnapMarkerManager.js +11 -0
  87. package/lib/editor/input/marker/AcEdOSnapMarkerManager.js.map +1 -1
  88. package/lib/editor/input/ui/AcEdCommandLine.d.ts.map +1 -1
  89. package/lib/editor/input/ui/AcEdCommandLine.js +1 -1
  90. package/lib/editor/input/ui/AcEdCommandLine.js.map +1 -1
  91. package/lib/editor/input/ui/AcEdFloatingInput.d.ts +4 -0
  92. package/lib/editor/input/ui/AcEdFloatingInput.d.ts.map +1 -1
  93. package/lib/editor/input/ui/AcEdFloatingInput.js +27 -0
  94. package/lib/editor/input/ui/AcEdFloatingInput.js.map +1 -1
  95. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts +5 -0
  96. package/lib/editor/input/ui/AcEdFloatingInputTypes.d.ts.map +1 -1
  97. package/lib/editor/input/ui/AcEdFloatingMessage.js +1 -1
  98. package/lib/editor/input/ui/AcEdFloatingMessage.js.map +1 -1
  99. package/lib/editor/input/ui/AcEdInputManager.d.ts.map +1 -1
  100. package/lib/editor/input/ui/AcEdInputManager.js +47 -26
  101. package/lib/editor/input/ui/AcEdInputManager.js.map +1 -1
  102. package/lib/editor/input/ui/AcEdMTextEditor.d.ts.map +1 -1
  103. package/lib/editor/input/ui/AcEdMTextEditor.js +3 -2
  104. package/lib/editor/input/ui/AcEdMTextEditor.js.map +1 -1
  105. package/lib/editor/input/ui/AcEdRubberBand.d.ts +8 -0
  106. package/lib/editor/input/ui/AcEdRubberBand.d.ts.map +1 -1
  107. package/lib/editor/input/ui/AcEdRubberBand.js +46 -29
  108. package/lib/editor/input/ui/AcEdRubberBand.js.map +1 -1
  109. package/lib/i18n/en/command.d.ts +7 -1
  110. package/lib/i18n/en/command.d.ts.map +1 -1
  111. package/lib/i18n/en/command.js +7 -1
  112. package/lib/i18n/en/command.js.map +1 -1
  113. package/lib/i18n/zh/command.d.ts +7 -1
  114. package/lib/i18n/zh/command.d.ts.map +1 -1
  115. package/lib/i18n/zh/command.js +7 -1
  116. package/lib/i18n/zh/command.js.map +1 -1
  117. package/lib/plugin/AcApLazyPluginRegistration.d.ts +28 -0
  118. package/lib/plugin/AcApLazyPluginRegistration.d.ts.map +1 -0
  119. package/lib/plugin/AcApLazyPluginRegistration.js +2 -0
  120. package/lib/plugin/AcApLazyPluginRegistration.js.map +1 -0
  121. package/lib/plugin/AcApPluginManager.d.ts +38 -0
  122. package/lib/plugin/AcApPluginManager.d.ts.map +1 -1
  123. package/lib/plugin/AcApPluginManager.js +147 -22
  124. package/lib/plugin/AcApPluginManager.js.map +1 -1
  125. package/lib/plugin/index.d.ts +1 -0
  126. package/lib/plugin/index.d.ts.map +1 -1
  127. package/lib/plugin/index.js +1 -0
  128. package/lib/plugin/index.js.map +1 -1
  129. package/lib/util/AcApExportFileNameUtil.d.ts +22 -0
  130. package/lib/util/AcApExportFileNameUtil.d.ts.map +1 -0
  131. package/lib/util/AcApExportFileNameUtil.js +49 -0
  132. package/lib/util/AcApExportFileNameUtil.js.map +1 -0
  133. package/lib/util/AcApFontUtil.d.ts +10 -0
  134. package/lib/util/AcApFontUtil.d.ts.map +1 -1
  135. package/lib/util/AcApFontUtil.js +12 -0
  136. package/lib/util/AcApFontUtil.js.map +1 -1
  137. package/lib/util/index.d.ts +1 -0
  138. package/lib/util/index.d.ts.map +1 -1
  139. package/lib/util/index.js +1 -0
  140. package/lib/util/index.js.map +1 -1
  141. package/lib/view/AcTrLayoutView.d.ts +1 -1
  142. package/lib/view/AcTrLayoutView.d.ts.map +1 -1
  143. package/lib/view/AcTrLayoutView.js +2 -1
  144. package/lib/view/AcTrLayoutView.js.map +1 -1
  145. package/lib/view/AcTrLayoutViewManager.d.ts +3 -1
  146. package/lib/view/AcTrLayoutViewManager.d.ts.map +1 -1
  147. package/lib/view/AcTrLayoutViewManager.js +4 -2
  148. package/lib/view/AcTrLayoutViewManager.js.map +1 -1
  149. package/lib/view/AcTrView2d.d.ts +18 -1
  150. package/lib/view/AcTrView2d.d.ts.map +1 -1
  151. package/lib/view/AcTrView2d.js +72 -52
  152. package/lib/view/AcTrView2d.js.map +1 -1
  153. package/lib/view/index.d.ts +1 -0
  154. package/lib/view/index.d.ts.map +1 -1
  155. package/lib/view/index.js +1 -0
  156. package/lib/view/index.js.map +1 -1
  157. package/package.json +8 -14
  158. package/dist/viewer-runtime.iife.js +0 -3879
  159. package/lib/command/convert/AcApConvertToSvgCmd.d.ts +0 -32
  160. package/lib/command/convert/AcApConvertToSvgCmd.d.ts.map +0 -1
  161. package/lib/command/convert/AcApConvertToSvgCmd.js +0 -98
  162. package/lib/command/convert/AcApConvertToSvgCmd.js.map +0 -1
  163. package/lib/command/convert/AcApExportHtmlCmd.d.ts +0 -22
  164. package/lib/command/convert/AcApExportHtmlCmd.d.ts.map +0 -1
  165. package/lib/command/convert/AcApExportHtmlCmd.js +0 -93
  166. package/lib/command/convert/AcApExportHtmlCmd.js.map +0 -1
  167. package/lib/command/convert/AcApHtmlConvertor.d.ts +0 -61
  168. package/lib/command/convert/AcApHtmlConvertor.d.ts.map +0 -1
  169. package/lib/command/convert/AcApHtmlConvertor.js +0 -223
  170. package/lib/command/convert/AcApHtmlConvertor.js.map +0 -1
  171. package/lib/command/convert/AcApHtmlSnapshotBuilder.d.ts +0 -65
  172. package/lib/command/convert/AcApHtmlSnapshotBuilder.d.ts.map +0 -1
  173. package/lib/command/convert/AcApHtmlSnapshotBuilder.js +0 -301
  174. package/lib/command/convert/AcApHtmlSnapshotBuilder.js.map +0 -1
  175. package/lib/command/convert/AcApSvgConvertor.d.ts +0 -53
  176. package/lib/command/convert/AcApSvgConvertor.d.ts.map +0 -1
  177. package/lib/command/convert/AcApSvgConvertor.js +0 -103
  178. package/lib/command/convert/AcApSvgConvertor.js.map +0 -1
@@ -17,6 +17,7 @@ export interface AcEdFontNotLoadedInfo {
17
17
  * - **File Operations**: `open-file`, `open-file-progress`, `failed-to-open-file`
18
18
  * - **Palette Control**: `close-layer-manager`
19
19
  * - **Font Management**: `fonts-not-loaded`, `failed-to-get-avaiable-fonts`, `font-not-found`
20
+ * - **Missing Resources**: `missed-data-changed`
20
21
  * - **User Messages**: `message`
21
22
  */
22
23
  export type AcEdEvents = {
@@ -58,6 +59,8 @@ export type AcEdEvents = {
58
59
  /** Number of entities that require this font */
59
60
  count: number;
60
61
  };
62
+ /** Emitted after missing resource caches change and UI state should refresh */
63
+ 'missed-data-changed': {};
61
64
  };
62
65
  /**
63
66
  * Global event bus for application-wide communication.
@@ -1 +1 @@
1
- {"version":3,"file":"eventBus.d.ts","sourceRoot":"","sources":["../../../src/editor/global/eventBus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAa,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,WAAW,qBAAqB;IACpC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;;;;GAWG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,+CAA+C;IAC/C,WAAW,EAAE,EAAE,CAAA;IACf,8DAA8D;IAC9D,qBAAqB,EAAE,EAAE,CAAA;IACzB,qDAAqD;IACrD,oBAAoB,EAAE,sBAAsB,CAAA;IAC5C,+CAA+C;IAC/C,OAAO,EAAE;QACP,kCAAkC;QAClC,OAAO,EAAE,MAAM,CAAA;QACf,uCAAuC;QACvC,IAAI,EAAE,eAAe,CAAA;KACtB,CAAA;IACD,kEAAkE;IAClE,iBAAiB,EAAE;QACjB,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,CAAA;IACD,4CAA4C;IAC5C,kBAAkB,EAAE;QAClB,KAAK,EAAE,qBAAqB,EAAE,CAAA;KAC/B,CAAA;IACD,gEAAgE;IAChE,8BAA8B,EAAE;QAC9B,kEAAkE;QAClE,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,wCAAwC;IACxC,qBAAqB,EAAE;QACrB,gDAAgD;QAChD,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,gDAAgD;IAChD,gBAAgB,EAAE;QAChB,+BAA+B;QAC/B,QAAQ,EAAE,MAAM,CAAA;QAChB,gDAAgD;QAChD,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;CACF,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAsB,CAAA"}
1
+ {"version":3,"file":"eventBus.d.ts","sourceRoot":"","sources":["../../../src/editor/global/eventBus.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAA;AAC9D,OAAa,EAAE,KAAK,OAAO,EAAE,MAAM,MAAM,CAAA;AAEzC,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,WAAW,qBAAqB;IACpC,gBAAgB;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,yDAAyD;IACzD,GAAG,EAAE,MAAM,CAAA;CACZ;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,UAAU,GAAG;IACvB,+CAA+C;IAC/C,WAAW,EAAE,EAAE,CAAA;IACf,8DAA8D;IAC9D,qBAAqB,EAAE,EAAE,CAAA;IACzB,qDAAqD;IACrD,oBAAoB,EAAE,sBAAsB,CAAA;IAC5C,+CAA+C;IAC/C,OAAO,EAAE;QACP,kCAAkC;QAClC,OAAO,EAAE,MAAM,CAAA;QACf,uCAAuC;QACvC,IAAI,EAAE,eAAe,CAAA;KACtB,CAAA;IACD,kEAAkE;IAClE,iBAAiB,EAAE;QACjB,KAAK,EAAE,MAAM,EAAE,CAAA;KAChB,CAAA;IACD,4CAA4C;IAC5C,kBAAkB,EAAE;QAClB,KAAK,EAAE,qBAAqB,EAAE,CAAA;KAC/B,CAAA;IACD,gEAAgE;IAChE,8BAA8B,EAAE;QAC9B,kEAAkE;QAClE,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;IACD,wCAAwC;IACxC,qBAAqB,EAAE;QACrB,gDAAgD;QAChD,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,gDAAgD;IAChD,gBAAgB,EAAE;QAChB,+BAA+B;QAC/B,QAAQ,EAAE,MAAM,CAAA;QAChB,gDAAgD;QAChD,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,+EAA+E;IAC/E,qBAAqB,EAAE,EAAE,CAAA;CAC1B,CAAA;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,eAAO,MAAM,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAsB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"eventBus.js","sourceRoot":"","sources":["../../../src/editor/global/eventBus.ts"],"names":[],"mappings":"AACA,OAAO,IAAsB,MAAM,MAAM,CAAA;AAgEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,IAAM,QAAQ,GAAwB,IAAI,EAAc,CAAA"}
1
+ {"version":3,"file":"eventBus.js","sourceRoot":"","sources":["../../../src/editor/global/eventBus.ts"],"names":[],"mappings":"AACA,OAAO,IAAsB,MAAM,MAAM,CAAA;AAmEzC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAqCG;AACH,MAAM,CAAC,IAAM,QAAQ,GAAwB,IAAI,EAAc,CAAA"}
@@ -2,4 +2,5 @@ export * from './AcEdGlobalFunc';
2
2
  export * from './AcEdConditionWaiter';
3
3
  export * from './eventBus';
4
4
  export * from './AcEdUiTheme';
5
+ export * from './AcEdUiColor';
5
6
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/global/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/editor/global/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
@@ -2,4 +2,5 @@ export * from './AcEdGlobalFunc';
2
2
  export * from './AcEdConditionWaiter';
3
3
  export * from './eventBus';
4
4
  export * from './AcEdUiTheme';
5
+ export * from './AcEdUiColor';
5
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/editor/global/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/editor/global/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAA;AAChC,cAAc,uBAAuB,CAAA;AACrC,cAAc,YAAY,CAAA;AAC1B,cAAc,eAAe,CAAA;AAC7B,cAAc,eAAe,CAAA"}
@@ -87,6 +87,10 @@ export declare class AcEdCursorManager {
87
87
  * @param cursorType - The type of cursor to set
88
88
  */
89
89
  setCursor(cursorType: AcEdCorsorType): void;
90
+ /**
91
+ * Syncs crosshair colour with the canvas background set by the view.
92
+ */
93
+ syncBackgroundColor(backgroundColor: number): void;
90
94
  /**
91
95
  * Sets the cursor color for the crosshair cursor
92
96
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdCursorManager.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdCursorManager.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,oBAAY,cAAc;IACxB,+CAA+C;IAC/C,eAAe,KAAK;IACpB,mDAAmD;IACnD,SAAS,IAAI;IACb,0CAA0C;IAC1C,UAAU,IAAA;IACV,6CAA6C;IAC7C,UAAU,IAAA;IACV,yBAAyB;IACzB,UAAU,IAAA;IACV,4CAA4C;IAC5C,SAAS,IAAA;IACT,+BAA+B;IAC/B,gBAAgB,IAAA;IAChB,8CAA8C;IAC9C,iBAAiB,IAAA;IACjB,yCAAyC;IACzC,SAAS,IAAA;IACT,8BAA8B;IAC9B,YAAY,IAAA;IACZ,iDAAiD;IACjD,aAAa,IAAA;IACb,+CAA+C;IAC/C,mBAAmB,KAAA;IACnB,gDAAgD;IAChD,cAAc,KAAA;IACd,8BAA8B;IAC9B,eAAe,KAAA;IACf,mCAAmC;IACnC,IAAI,KAAA;CACL;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,kDAAkD;IAClD,OAAO,CAAC,KAAK,CAAc;IAE3B,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAiB;IAEvC,wDAAwD;IACxD,OAAO,CAAC,UAAU,CAA6B;IAC/C,mCAAmC;IACnC,OAAO,CAAC,gBAAgB,CAAY;IACpC,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAE1C;;;;OAIG;gBACS,IAAI,EAAE,YAAY;IA0B9B;;OAEG;IACH,IAAI,aAAa,mBAEhB;IAED;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,cAAc;IAepC;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAa5B;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIrE;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAsB5B"}
1
+ {"version":3,"file":"AcEdCursorManager.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdCursorManager.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AAEtC;;;;;;;;;;;;;;;;;;GAkBG;AACH,oBAAY,cAAc;IACxB,+CAA+C;IAC/C,eAAe,KAAK;IACpB,mDAAmD;IACnD,SAAS,IAAI;IACb,0CAA0C;IAC1C,UAAU,IAAA;IACV,6CAA6C;IAC7C,UAAU,IAAA;IACV,yBAAyB;IACzB,UAAU,IAAA;IACV,4CAA4C;IAC5C,SAAS,IAAA;IACT,+BAA+B;IAC/B,gBAAgB,IAAA;IAChB,8CAA8C;IAC9C,iBAAiB,IAAA;IACjB,yCAAyC;IACzC,SAAS,IAAA;IACT,8BAA8B;IAC9B,YAAY,IAAA;IACZ,iDAAiD;IACjD,aAAa,IAAA;IACb,+CAA+C;IAC/C,mBAAmB,KAAA;IACnB,gDAAgD;IAChD,cAAc,KAAA;IACd,8BAA8B;IAC9B,eAAe,KAAA;IACf,mCAAmC;IACnC,IAAI,KAAA;CACL;AAED;;;;;;;;;GASG;AACH,qBAAa,iBAAiB;IAC5B,kDAAkD;IAClD,OAAO,CAAC,KAAK,CAAc;IAE3B,oDAAoD;IACpD,OAAO,CAAC,cAAc,CAAiB;IAEvC,wDAAwD;IACxD,OAAO,CAAC,UAAU,CAA6B;IAC/C,mCAAmC;IACnC,OAAO,CAAC,gBAAgB,CAAiC;IACzD,2CAA2C;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAa;IAE1C;;;;OAIG;gBACS,IAAI,EAAE,YAAY;IAsB9B;;OAEG;IACH,IAAI,aAAa,mBAEhB;IAED;;;;OAIG;IACH,SAAS,CAAC,UAAU,EAAE,cAAc;IAepC;;OAEG;IACH,mBAAmB,CAAC,eAAe,EAAE,MAAM;IAK3C;;;;OAIG;IACH,cAAc,CAAC,KAAK,EAAE,MAAM;IAa5B;;;;;;;;;;;;;;;;;OAiBG;IACH,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAIrE;;;;;;OAMG;IACH,OAAO,CAAC,mBAAmB;CAsB5B"}
@@ -1,4 +1,5 @@
1
1
  import { AcDbSystemVariables, AcDbSysVarManager } from '@mlightcad/data-model';
2
+ import { cursorColorForBackground, MODEL_SPACE_BACKGROUND } from '../global/AcEdUiColor';
2
3
  /**
3
4
  * Enumeration of cursor types available in the CAD editor.
4
5
  *
@@ -70,24 +71,19 @@ var AcEdCursorManager = /** @class */ (function () {
70
71
  function AcEdCursorManager(view) {
71
72
  var _this = this;
72
73
  /** The current background color */
73
- this._backgroundColor = 0;
74
+ this._backgroundColor = MODEL_SPACE_BACKGROUND;
74
75
  /** Total length of the cursor crosshair */
75
76
  this._totalLength = 20;
76
77
  this._view = view;
77
78
  this._cursorMap = new Map();
78
- this.setCursorColor(this._backgroundColor === 0 ? 'white' : 'black');
79
+ this.setCursorColor(cursorColorForBackground(this._backgroundColor));
79
80
  AcDbSysVarManager.instance().events.sysVarChanged.addEventListener(function (args) {
80
81
  if (args.name === AcDbSystemVariables.PICKBOX.toLowerCase()) {
81
82
  var size = args.newVal;
82
83
  size = size >= 0 ? size : 0;
83
- _this._cursorMap.set(AcEdCorsorType.Crosshair, _this.createRectCrossIcon(size, _this._totalLength - size, _this._backgroundColor === 0 ? 'white' : 'black'));
84
+ _this._cursorMap.set(AcEdCorsorType.Crosshair, _this.createRectCrossIcon(size, _this._totalLength - size, cursorColorForBackground(_this._backgroundColor)));
84
85
  _this.setCursor(_this._currentCursor);
85
86
  }
86
- else if (args.name === AcDbSystemVariables.WHITEBKCOLOR.toLowerCase()) {
87
- var useWhiteBackgroundColor = args.newVal;
88
- _this._backgroundColor = useWhiteBackgroundColor ? 0xffffff : 0;
89
- _this.setCursorColor(_this._backgroundColor === 0 ? 'white' : 'black');
90
- }
91
87
  });
92
88
  this.setCursor(AcEdCorsorType.Crosshair);
93
89
  }
@@ -122,6 +118,13 @@ var AcEdCursorManager = /** @class */ (function () {
122
118
  }
123
119
  this._currentCursor = cursorType;
124
120
  };
121
+ /**
122
+ * Syncs crosshair colour with the canvas background set by the view.
123
+ */
124
+ AcEdCursorManager.prototype.syncBackgroundColor = function (backgroundColor) {
125
+ this._backgroundColor = backgroundColor;
126
+ this.setCursorColor(cursorColorForBackground(backgroundColor));
127
+ };
125
128
  /**
126
129
  * Sets the cursor color for the crosshair cursor
127
130
  *
@@ -1 +1 @@
1
- {"version":3,"file":"AcEdCursorManager.js","sourceRoot":"","sources":["../../../src/editor/input/AcEdCursorManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AcEdCursorManager.js","sourceRoot":"","sources":["../../../src/editor/input/AcEdCursorManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { AcDbDatabase, AcGePoint2dLike } from '@mlightcad/data-model';
2
+ /**
3
+ * Returns whether orthogonal cursor locking is enabled for the given database.
4
+ */
5
+ export declare function isOrthoModeEnabled(database?: AcDbDatabase): boolean;
6
+ /**
7
+ * Constrains a point to horizontal or vertical movement relative to a reference
8
+ * point, matching AutoCAD ORTHOMODE behavior.
9
+ */
10
+ export declare function constrainToOrtho(point: AcGePoint2dLike, reference: AcGePoint2dLike): AcGePoint2dLike;
11
+ //# sourceMappingURL=AcEdOrthoMode.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdOrthoMode.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdOrthoMode.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,YAAY,EAIZ,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAE9B;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAOnE;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,eAAe,GACzB,eAAe,CASjB"}
@@ -0,0 +1,22 @@
1
+ import { acdbHostApplicationServices, AcDbSystemVariables, AcDbSysVarManager } from '@mlightcad/data-model';
2
+ /**
3
+ * Returns whether orthogonal cursor locking is enabled for the given database.
4
+ */
5
+ export function isOrthoModeEnabled(database) {
6
+ var db = database !== null && database !== void 0 ? database : acdbHostApplicationServices().workingDatabase;
7
+ var raw = AcDbSysVarManager.instance().getVar(AcDbSystemVariables.ORTHOMODE, db);
8
+ return Number(raw) !== 0;
9
+ }
10
+ /**
11
+ * Constrains a point to horizontal or vertical movement relative to a reference
12
+ * point, matching AutoCAD ORTHOMODE behavior.
13
+ */
14
+ export function constrainToOrtho(point, reference) {
15
+ var dx = point.x - reference.x;
16
+ var dy = point.y - reference.y;
17
+ if (Math.abs(dx) >= Math.abs(dy)) {
18
+ return { x: point.x, y: reference.y };
19
+ }
20
+ return { x: reference.x, y: point.y };
21
+ }
22
+ //# sourceMappingURL=AcEdOrthoMode.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdOrthoMode.js","sourceRoot":"","sources":["../../../src/editor/input/AcEdOrthoMode.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,2BAA2B,EAC3B,mBAAmB,EACnB,iBAAiB,EAElB,MAAM,uBAAuB,CAAA;AAE9B;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAuB;IACxD,IAAM,EAAE,GAAG,QAAQ,aAAR,QAAQ,cAAR,QAAQ,GAAI,2BAA2B,EAAE,CAAC,eAAe,CAAA;IACpE,IAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,EAAE,CAAC,MAAM,CAC7C,mBAAmB,CAAC,SAAS,EAC7B,EAAE,CACH,CAAA;IACD,OAAO,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,KAAsB,EACtB,SAA0B;IAE1B,IAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;IAChC,IAAM,EAAE,GAAG,KAAK,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,CAAA;IAEhC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACjC,OAAO,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAA;IACvC,CAAC;IAED,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,EAAE,CAAA;AACvC,CAAC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * Polar and orthogonal cursor tracking for interactive point input.
3
+ *
4
+ * Reads AutoCAD system variables **POLARMODE**, **POLARANG**, and **POLARADDANG**
5
+ * together with drawing angles **ANGBASE** and **ANGDIR**, then constrains the
6
+ * cursor to the nearest allowed tracking direction relative to a reference point.
7
+ * Used by {@link AcEdFloatingInput} during `getPoint`-style acquisition.
8
+ *
9
+ * @see https://help.autodesk.com/view/ACD/2027/ENU/?guid=GUID-3E0AAC2C-0756-4626-B79C-ED8DAB930EA3
10
+ * @packageDocumentation
11
+ */
12
+ import { AcDbDatabase, AcGePoint2dLike } from '@mlightcad/data-model';
13
+ /**
14
+ * **POLARMODE** bit mask: polar tracking enabled (status bar “Polar Tracking”).
15
+ *
16
+ * When this bit is set, alignment paths use **POLARANG** increments (and optional
17
+ * **POLARADDANG** angles when {@link POLARMODE_ADDITIONAL_ANGLES} is also set).
18
+ * When clear, object-snap tracking is limited to orthogonal directions only.
19
+ *
20
+ * @see https://help.autodesk.com/view/ACD/2027/ENU/?guid=GUID-D91628CC-9975-4DBF-8D02-10B23A6F3ED5
21
+ */
22
+ export declare const POLARMODE_POLAR_TRACKING = 2;
23
+ /**
24
+ * **POLARMODE** bit mask: include additional absolute angles from **POLARADDANG**.
25
+ *
26
+ * Has no effect unless {@link POLARMODE_POLAR_TRACKING} is also enabled.
27
+ *
28
+ * @see https://help.autodesk.com/view/ACD/2027/ENU/?guid=GUID-D91628CC-9975-4DBF-8D02-10B23A6F3ED5
29
+ */
30
+ export declare const POLARMODE_ADDITIONAL_ANGLES = 4;
31
+ /**
32
+ * Returns the current **POLARMODE** bitcode for polar and object-snap tracking.
33
+ *
34
+ * Relevant bits include {@link POLARMODE_POLAR_TRACKING} (bit 2) and
35
+ * {@link POLARMODE_ADDITIONAL_ANGLES} (bit 4). Other bits (0, 8, …) are stored
36
+ * but not interpreted by this module yet.
37
+ *
38
+ * @param database - Optional database; defaults to the working database.
39
+ * @returns Integer bit sum of **POLARMODE** (default `0` when unset).
40
+ * @see https://help.autodesk.com/view/ACD/2027/ENU/?guid=GUID-D91628CC-9975-4DBF-8D02-10B23A6F3ED5
41
+ */
42
+ export declare function getPolarmode(database?: AcDbDatabase): number;
43
+ /**
44
+ * Returns the polar angle increment **POLARANG** in degrees.
45
+ *
46
+ * Defines spacing of polar tracking alignment paths (common values: 90, 45, 30,
47
+ * 22.5, 18, 15, 10, 5).
48
+ *
49
+ * @param database - Optional database; defaults to the working database.
50
+ * @returns Increment in degrees (default `90` when unset).
51
+ * @see https://help.autodesk.com/view/ACD/2027/ENU/?guid=GUID-0CF67F9E-F953-43D6-9227-0D56E0E693ED
52
+ */
53
+ export declare function getPolarang(database?: AcDbDatabase): number;
54
+ /**
55
+ * Returns the additional polar tracking angles string **POLARADDANG**.
56
+ *
57
+ * Up to ten absolute angles in degrees, separated by semicolons (`;`). Unlike
58
+ * **POLARANG**, entries are absolute display angles, not increments. Only applied
59
+ * when {@link POLARMODE_ADDITIONAL_ANGLES} is set in **POLARMODE**.
60
+ *
61
+ * @param database - Optional database; defaults to the working database.
62
+ * @returns Semicolon-separated angle list, or `''` when unset.
63
+ * @see https://help.autodesk.com/view/ACD/2027/ENU/?guid=GUID-73162BAB-C98D-4159-A653-E4C7D4CB38C3
64
+ */
65
+ export declare function getPolaraddang(database?: AcDbDatabase): string;
66
+ /**
67
+ * Returns whether polar tracking is enabled (**POLARMODE** bit 2).
68
+ *
69
+ * Corresponds to the status bar polar tracking toggle and {@link POLARMODE_POLAR_TRACKING}.
70
+ *
71
+ * @param database - Optional database; defaults to the working database.
72
+ * @returns `true` when bit 2 of **POLARMODE** is set; otherwise `false`.
73
+ * @see https://help.autodesk.com/view/ACD/2027/ENU/?guid=GUID-D91628CC-9975-4DBF-8D02-10B23A6F3ED5
74
+ */
75
+ export declare function isPolarTrackingEnabled(database?: AcDbDatabase): boolean;
76
+ /**
77
+ * Constrains a point to the nearest polar and/or orthogonal tracking angle.
78
+ *
79
+ * Behavior summary:
80
+ *
81
+ * - Neither **ORTHOMODE** nor polar tracking (bit 2): returns `point` unchanged.
82
+ * - **ORTHOMODE** only: delegates to {@link constrainToOrtho}.
83
+ * - Polar tracking (and optionally ortho): keeps distance from `reference`,
84
+ * snaps direction to the nearest allowed display angle from **POLARANG** /
85
+ * **POLARADDANG** / orthogonal set, then maps back to WCS using **ANGBASE**
86
+ * and **ANGDIR**.
87
+ *
88
+ * @param point - Current cursor position in WCS (typically after OSNAP).
89
+ * @param reference - Tracking base point (last point or prompt base point).
90
+ * @param database - Optional database; defaults to the working database.
91
+ * @returns Constrained WCS point on the nearest tracking ray, or `point` when
92
+ * tracking does not apply or distance to `reference` is negligible.
93
+ * @see https://help.autodesk.com/view/ACD/2027/ENU/?guid=GUID-3E0AAC2C-0756-4626-B79C-ED8DAB930EA3
94
+ */
95
+ export declare function constrainToTracking(point: AcGePoint2dLike, reference: AcGePoint2dLike, database?: AcDbDatabase): AcGePoint2dLike;
96
+ /**
97
+ * Toggles **POLARMODE** bit 2 (polar tracking on/off) and persists the new value.
98
+ *
99
+ * Preserves all other **POLARMODE** bits (orthogonal-only tracking source,
100
+ * additional angles, shift-to-acquire, etc.).
101
+ *
102
+ * @param database - Optional database; defaults to the working database.
103
+ * @returns The new **POLARMODE** value after the toggle.
104
+ * @see https://help.autodesk.com/view/ACD/2027/ENU/?guid=GUID-D91628CC-9975-4DBF-8D02-10B23A6F3ED5
105
+ */
106
+ export declare function togglePolarTracking(database?: AcDbDatabase): number;
107
+ //# sourceMappingURL=AcEdPolarTracking.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AcEdPolarTracking.d.ts","sourceRoot":"","sources":["../../../src/editor/input/AcEdPolarTracking.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EACL,YAAY,EAKZ,eAAe,EAChB,MAAM,uBAAuB,CAAA;AAI9B;;;;;;;;GAQG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAA;AAEzC;;;;;;GAMG;AACH,eAAO,MAAM,2BAA2B,IAAI,CAAA;AA0D5C;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAG5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,WAAW,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAG3D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CAG9D;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,OAAO,CAEvE;AAgKD;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,eAAe,EACtB,SAAS,EAAE,eAAe,EAC1B,QAAQ,CAAC,EAAE,YAAY,GACtB,eAAe,CAyCjB;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,CAAC,EAAE,YAAY,GAAG,MAAM,CASnE"}