oolong-engine 0.0.1 → 0.0.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.
Files changed (342) hide show
  1. package/README.md +152 -4
  2. package/dist/ability/checkbox/CheckboxWorker.d.ts +6 -0
  3. package/dist/ability/copyPaste/copy/CopyWorker.d.ts +1 -0
  4. package/dist/ability/copyPaste/duplicate/DuplicateWorker.d.ts +9 -0
  5. package/dist/ability/create/CreateWorker.d.ts +10 -0
  6. package/dist/ability/create/handler/AbsCreateHandler.d.ts +15 -0
  7. package/dist/ability/create/handler/CheckboxCreateHandler.d.ts +7 -0
  8. package/dist/ability/create/handler/CheckboxTextCreateHandler.d.ts +7 -0
  9. package/dist/ability/create/handler/LineCreateHandler.d.ts +8 -0
  10. package/dist/ability/create/handler/SectionCreateHandler.d.ts +7 -0
  11. package/dist/ability/create/handler/ShapeCreateHandler.d.ts +8 -0
  12. package/dist/ability/create/handler/SlideCreateHandler.d.ts +7 -0
  13. package/dist/ability/delete/DeleteWorker.d.ts +1 -0
  14. package/dist/ability/group/GroupWorker.d.ts +2 -0
  15. package/dist/ability/index.d.ts +2 -0
  16. package/dist/ability/line/BatchLineTextWorker.d.ts +8 -0
  17. package/dist/ability/line/LayoutWorker.d.ts +5 -1
  18. package/dist/ability/line/LineTextWorker.d.ts +7 -0
  19. package/dist/ability/line/handler/CurveLayoutHandler.d.ts +2 -0
  20. package/dist/ability/quickCreate/QuickCreateWorker.d.ts +22 -0
  21. package/dist/ability/resize/WindowResizeWorker.d.ts +6 -0
  22. package/dist/ability/slide/SlideCoverInfo.d.ts +6 -0
  23. package/dist/ability/slide/SlidePlayWorker.d.ts +6 -0
  24. package/dist/ability/svg/CreateSvgWorker.d.ts +3 -2
  25. package/dist/ability/svg/GenSvgBitmapWorker.d.ts +2 -1
  26. package/dist/ability/text/CacheOfflineCanvas.d.ts +8 -0
  27. package/dist/ability/text/TextUtils.d.ts +8 -0
  28. package/dist/ability/textInput/TextDeleteInputWorker.d.ts +37 -0
  29. package/dist/ability/textInput/TextInputWorker.d.ts +72 -0
  30. package/dist/ability/textInput/TextLineBreakWorker.d.ts +12 -0
  31. package/dist/ability/textInput/TextParagraphStyleWorker.d.ts +8 -0
  32. package/dist/ability/textInput/textFont/AbsTextFontWorker.d.ts +13 -0
  33. package/dist/ability/textInput/textFont/TextFontBgColorWorker.d.ts +6 -0
  34. package/dist/ability/textInput/textFont/TextFontBoldWorker.d.ts +6 -0
  35. package/dist/ability/textInput/textFont/TextFontColorWorker.d.ts +6 -0
  36. package/dist/ability/textInput/textFont/TextFontItalicWorker.d.ts +6 -0
  37. package/dist/ability/textInput/textFont/TextFontSizeWorker.d.ts +14 -0
  38. package/dist/ability/textInput/textFont/TextFontStrikethroughWorker.d.ts +6 -0
  39. package/dist/ability/textInput/textFont/TextUnderLineWorker.d.ts +6 -0
  40. package/dist/ability/textInput/textParagraphPrefix/TextNormalWorker.d.ts +14 -0
  41. package/dist/ability/textInput/textParagraphPrefix/TextOrderWorker.d.ts +15 -0
  42. package/dist/ability/textInput/textParagraphPrefix/TextParaPrefixWorker.d.ts +8 -0
  43. package/dist/ability/textInput/textParagraphPrefix/TextQuoteWorker.d.ts +15 -0
  44. package/dist/ability/textInput/textParagraphPrefix/TextUnOrderWorker.d.ts +15 -0
  45. package/dist/action/ActionManager.d.ts +2 -1
  46. package/dist/action/executor/ExecutorContext.d.ts +4 -0
  47. package/dist/action/executor/ExecutorManager.d.ts +7 -2
  48. package/dist/action/executor/beforeInterceptor/AbsInterceptor.d.ts +6 -0
  49. package/dist/action/executor/beforeInterceptor/slide/SlideCoverInsertInterceptor.d.ts +9 -0
  50. package/dist/action/executor/beforeInterceptor/slide/SlideCoverUpdateInterceptor.d.ts +13 -0
  51. package/dist/action/render/RenderManager.d.ts +15 -9
  52. package/dist/action/render/export/ExportWorker.d.ts +2 -0
  53. package/dist/action/render/zoom/ZoomWorker.d.ts +8 -7
  54. package/dist/app/AppEventContext.d.ts +20 -3
  55. package/dist/app/OolongApp.d.ts +4 -0
  56. package/dist/app/ai-api/OolongAIAPI.d.ts +11 -0
  57. package/dist/app/ai-api/module/AINodeAPI.d.ts +380 -0
  58. package/dist/app/ai-api/module/AIViewportAPI.d.ts +59 -0
  59. package/dist/app/ai-api/module/SelectAPI.d.ts +51 -0
  60. package/dist/app/api/OolongAPI.d.ts +22 -1
  61. package/dist/app/api/module/{createAPI.d.ts → CreateAPI.d.ts} +16 -0
  62. package/dist/app/api/module/SwitchAPI.d.ts +10 -0
  63. package/dist/app/api/module/align/AlignAPI.d.ts +19 -0
  64. package/dist/app/api/module/propChange/PropChangeAPI.d.ts +5 -0
  65. package/dist/app/api/module/propChange/fontsize/AbsFontSizeChangeHandler.d.ts +6 -0
  66. package/dist/app/api/module/propChange/fontsize/CheckboxTextFontSizeChangeHandler.d.ts +7 -0
  67. package/dist/app/api/module/propChange/fontsize/NormalFontSizeChangeHandler.d.ts +7 -0
  68. package/dist/app/api/module/slide/SlideAPI.d.ts +25 -0
  69. package/dist/app/api/module/text/TextAPI.d.ts +38 -0
  70. package/dist/app/docModeManager/DocModeManager.d.ts +12 -0
  71. package/dist/app/docModeManager/DocModeSwitchContext.d.ts +4 -0
  72. package/dist/app/docModeManager/switchHandler/AbsSwitchHandler.d.ts +5 -0
  73. package/dist/app/docModeManager/switchHandler/board/BoardToSlideEditHandler.d.ts +8 -0
  74. package/dist/app/docModeManager/switchHandler/board/BoardToSlidePlayHandler.d.ts +6 -0
  75. package/dist/app/docModeManager/switchHandler/slide-edit/SlideEditToBoardHandler.d.ts +6 -0
  76. package/dist/app/docModeManager/switchHandler/slide-edit/SlideEditToSlidePlayHandler.d.ts +5 -0
  77. package/dist/app/docModeManager/switchHandler/slide-play/SlidePlayToBoardHandler.d.ts +6 -0
  78. package/dist/app/docModeManager/switchHandler/slide-play/SlidePlayToSlideEditHandler.d.ts +5 -0
  79. package/dist/app/docState/DocMode.d.ts +5 -0
  80. package/dist/app/docState/DocState.d.ts +11 -0
  81. package/dist/app/docState/SlideStatus.d.ts +7 -0
  82. package/dist/app/index.d.ts +2 -0
  83. package/dist/application/GMLRender.d.ts +2 -1
  84. package/dist/application/nodeManager/NodeManager.d.ts +1 -0
  85. package/dist/asyncRender/AsyncRenderNodeManager.d.ts +3 -4
  86. package/dist/auxiliary/AuxiliaryManager.d.ts +2 -1
  87. package/dist/auxiliary/AuxiliaryStyleConst.d.ts +1 -0
  88. package/dist/auxiliary/graphics/AuxiliaryType.d.ts +13 -1
  89. package/dist/auxiliary/graphics/group/SelectGroup.d.ts +1 -0
  90. package/dist/auxiliary/graphics/hover/HoverFocusCopy.d.ts +10 -0
  91. package/dist/auxiliary/graphics/hover/HoverInsertHorizonSlide.d.ts +11 -0
  92. package/dist/auxiliary/graphics/hover/HoverInsertSlide.d.ts +11 -0
  93. package/dist/auxiliary/graphics/hover/HoverSlideGapInsertPoint.d.ts +12 -0
  94. package/dist/auxiliary/graphics/hover/HoverSlidePlaceHolder.d.ts +10 -0
  95. package/dist/auxiliary/graphics/select/SelectCurveControlPoint.d.ts +15 -0
  96. package/dist/auxiliary/graphics/select/SelectCurveEnd.d.ts +15 -0
  97. package/dist/auxiliary/graphics/select/SelectLineTextRect.d.ts +2 -0
  98. package/dist/auxiliary/graphics/select/SelectParentGroupBound.d.ts +10 -0
  99. package/dist/auxiliary/graphics/select/SelectSlideGapInsertPoint.d.ts +10 -0
  100. package/dist/common/detect/DetectorEnum.d.ts +5 -1
  101. package/dist/common/paste/PasteData.d.ts +2 -0
  102. package/dist/config/ShapeCategoryType.d.ts +3 -1
  103. package/dist/config/defaultBorderConfig.d.ts +2 -0
  104. package/dist/config/defaultColorConfig.d.ts +2 -0
  105. package/dist/cursor/CursorManager.d.ts +19 -2
  106. package/dist/cursor/CursorStyle.d.ts +0 -1
  107. package/dist/engine.js +21041 -16095
  108. package/dist/engine.umd.cjs +34 -31
  109. package/dist/graphics/OolongNode.d.ts +7 -2
  110. package/dist/graphics/OolongSVGNode.d.ts +2 -0
  111. package/dist/graphics/OolongSection.d.ts +1 -0
  112. package/dist/graphics/OolongSlideContainer.d.ts +17 -0
  113. package/dist/graphics/base/NodeConnectEndType.d.ts +2 -1
  114. package/dist/graphics/base/ShapeType.d.ts +9 -9
  115. package/dist/graphics/drawer/AbsDrawer.d.ts +5 -1
  116. package/dist/graphics/drawer/CloudDrawer.d.ts +10 -0
  117. package/dist/graphics/drawer/CrossDrawer.d.ts +13 -0
  118. package/dist/graphics/drawer/EllipseDrawer.d.ts +2 -2
  119. package/dist/graphics/drawer/HexagonDrawer.d.ts +12 -0
  120. package/dist/graphics/drawer/LingxingDrawer.d.ts +3 -2
  121. package/dist/graphics/drawer/OctagonDrawer.d.ts +13 -0
  122. package/dist/graphics/drawer/ParallelogramDrawer.d.ts +12 -0
  123. package/dist/graphics/drawer/PentagonDrawer.d.ts +13 -0
  124. package/dist/graphics/drawer/PureTextDrawer.d.ts +2 -0
  125. package/dist/graphics/drawer/RoundRectDrawer.d.ts +2 -2
  126. package/dist/graphics/drawer/StarDrawer.d.ts +13 -0
  127. package/dist/graphics/drawer/TrapezoidDrawer.d.ts +12 -0
  128. package/dist/graphics/drawer/Triangle2Drawer.d.ts +6 -0
  129. package/dist/graphics/drawer/TriangleDrawer.d.ts +2 -1
  130. package/dist/graphics/index.d.ts +5 -0
  131. package/dist/graphics/line/OolongLine.d.ts +9 -3
  132. package/dist/graphics/line/arrow/CircleArrowDrawer.d.ts +5 -0
  133. package/dist/graphics/line/arrow/EmptyCircleArrowDrawer.d.ts +5 -0
  134. package/dist/graphics/node/GraphicNode.d.ts +2 -0
  135. package/dist/graphics/props/BaseProps.d.ts +1 -1
  136. package/dist/graphics/props/LineTextRectProps.d.ts +4 -1
  137. package/dist/graphics/props/PropType.d.ts +6 -1
  138. package/dist/graphics/props/SlideProps.d.ts +12 -0
  139. package/dist/graphics/props/SvgProps.d.ts +2 -0
  140. package/dist/graphics/props/TextParagraphProps.d.ts +11 -0
  141. package/dist/graphics/props/TextParagraphQuoteProps.d.ts +11 -0
  142. package/dist/graphics/props/TextProps.d.ts +5 -3
  143. package/dist/graphics/props/widget/CheckSizeProps.d.ts +11 -0
  144. package/dist/graphics/props/widget/CheckStatusProps.d.ts +11 -0
  145. package/dist/graphics/utils/GraphicUtils.d.ts +70 -3
  146. package/dist/graphics/widget/OolongWidget.d.ts +10 -0
  147. package/dist/graphics/widget/checkbox/OolongCheckbox.d.ts +16 -0
  148. package/dist/graphics/widget/checkbox/OolongCheckboxText.d.ts +22 -0
  149. package/dist/idl/NodeType.d.ts +3 -0
  150. package/dist/idl/capInfo/ICapInfo.d.ts +10 -0
  151. package/dist/idl/capInfo/ICheckSizeProps.d.ts +3 -0
  152. package/dist/idl/capInfo/ICheckStatusProps.d.ts +3 -0
  153. package/dist/idl/capInfo/ILineTextRectProps.d.ts +4 -1
  154. package/dist/idl/capInfo/ISlideProps.d.ts +4 -0
  155. package/dist/idl/capInfo/ISlideRow.d.ts +3 -0
  156. package/dist/idl/capInfo/ISvgProps.d.ts +2 -0
  157. package/dist/idl/capInfo/ITextParagraphProps.d.ts +8 -0
  158. package/dist/idl/capInfo/ITextParagraphQuoteProps.d.ts +7 -0
  159. package/dist/idl/capInfo/ITextProps.d.ts +1 -0
  160. package/dist/idl/capInfo/TransitionEnum.d.ts +3 -0
  161. package/dist/idl/common/LineArrowType.d.ts +3 -1
  162. package/dist/idl/common/RotateType.d.ts +6 -0
  163. package/dist/index.d.ts +2 -0
  164. package/dist/input/index.d.ts +2 -0
  165. package/dist/plugin-copy-paste/copy-paste/copy/CopyTextHandler.d.ts +38 -0
  166. package/dist/plugin-copy-paste/copy-paste/paste/oolongData/IOolongDataHandler.d.ts +4 -3
  167. package/dist/plugin-copy-paste/copy-paste/paste/oolongData/pasteNode/PasteNodeHandler.d.ts +8 -3
  168. package/dist/plugin-copy-paste/copy-paste/paste/oolongData/pasteNode/posHandler/AbsPastePosHandler.d.ts +8 -0
  169. package/dist/plugin-copy-paste/copy-paste/paste/oolongData/pasteNode/posHandler/EmptyPlacePosHandler.d.ts +9 -0
  170. package/dist/plugin-copy-paste/copy-paste/paste/oolongData/pasteNode/posHandler/NormalPastePosHandler.d.ts +9 -0
  171. package/dist/plugin-copy-paste/copy-paste/paste/oolongData/pasteNode/posHandler/PosPasteType.d.ts +4 -0
  172. package/dist/plugin-copy-paste/copy-paste/utils/CopyPasteUtils.d.ts +5 -0
  173. package/dist/plugin-copy-paste/index.d.ts +4 -0
  174. package/dist/plugin-hotkey/hotkey/common/ShiftKey.d.ts +8 -0
  175. package/dist/plugin-hotkey/hotkey/config/KeyCodeConfig.d.ts +2 -0
  176. package/dist/plugin-hotkey/hotkey/normal/EnterHotKey.d.ts +8 -0
  177. package/dist/plugin-hotkey/hotkey/normal/move/ArrowDownKey.d.ts +14 -0
  178. package/dist/plugin-hotkey/hotkey/normal/move/ArrowLeftKey.d.ts +14 -0
  179. package/dist/plugin-hotkey/hotkey/normal/move/ArrowMoveWorker.d.ts +23 -0
  180. package/dist/plugin-hotkey/hotkey/normal/move/ArrowRightKey.d.ts +14 -0
  181. package/dist/plugin-hotkey/hotkey/normal/move/ArrowUpKey.d.ts +14 -0
  182. package/dist/plugin-hotkey/hotkey/text/AbsArrowKey.d.ts +1 -1
  183. package/dist/plugin-hotkey/hotkey/text/ArrowRightKey.d.ts +3 -2
  184. package/dist/plugin-hotkey/hotkey/text/EnterHotKey.d.ts +7 -3
  185. package/dist/plugin-hotkey/hotkey/text/EscKey.d.ts +7 -0
  186. package/dist/plugin-hotkey/hotkey/text/TabKey.d.ts +7 -0
  187. package/dist/plugin-input/InputEventPlugin.d.ts +2 -2
  188. package/dist/plugin-input/common/ICompositionRecord.d.ts +1 -1
  189. package/dist/plugin-input/handler/AbsInputHandler.d.ts +2 -0
  190. package/dist/plugin-input/handler/InputCompositionHandler.d.ts +1 -1
  191. package/dist/plugin-input/handler/InputNormalHandler.d.ts +1 -1
  192. package/dist/plugin-pointer/PointerEventPlugin.d.ts +5 -0
  193. package/dist/plugin-pointer/interact/InteractiveManager.d.ts +1 -1
  194. package/dist/plugin-pointer/interact/InteractiveUtils.d.ts +21 -4
  195. package/dist/plugin-pointer/interact/align/AlignWorker.d.ts +3 -3
  196. package/dist/plugin-pointer/interact/align/common/AlignHorizonHandler.d.ts +1 -0
  197. package/dist/plugin-pointer/interact/align/common/AlignVerticalHandler.d.ts +1 -0
  198. package/dist/plugin-pointer/interact/basic/constants.d.ts +2 -0
  199. package/dist/plugin-pointer/interact/config/InteractConfig.d.ts +3 -1
  200. package/dist/plugin-pointer/interact/default/click/handler/AnchorQuickCreateHandler.d.ts +21 -0
  201. package/dist/plugin-pointer/interact/default/click/handler/ClickInsertEmptySlideHandler.d.ts +7 -0
  202. package/dist/plugin-pointer/interact/default/click/handler/ClickInsertSlideHandler.d.ts +11 -0
  203. package/dist/plugin-pointer/interact/default/click/handler/ClickTextHandler.d.ts +2 -1
  204. package/dist/plugin-pointer/interact/default/click/handler/widget/CheckboxHandler.d.ts +11 -0
  205. package/dist/plugin-pointer/interact/default/connectAnchor/ConnectAnchorProcessor.d.ts +2 -2
  206. package/dist/plugin-pointer/interact/default/create/CreateColorConfig.d.ts +0 -2
  207. package/dist/plugin-pointer/interact/default/create/CreateLineMainMode.d.ts +7 -0
  208. package/dist/plugin-pointer/interact/default/create/CreateTextMode.d.ts +1 -1
  209. package/dist/plugin-pointer/interact/default/create/RectCreateDragProcessor.d.ts +1 -0
  210. package/dist/plugin-pointer/interact/default/create/base/AbsCreateDragProcessor.d.ts +1 -0
  211. package/dist/plugin-pointer/interact/default/create/line/handler/AbsLineCreateHandler.d.ts +2 -2
  212. package/dist/plugin-pointer/interact/default/create/normal/CreateNormalMode.d.ts +2 -1
  213. package/dist/plugin-pointer/interact/default/create/normal/grab/handler/AbsCreateUpHandler.d.ts +1 -1
  214. package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpCheckboxHandler.d.ts +11 -0
  215. package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpCheckboxTextHandler.d.ts +11 -0
  216. package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpLineHandler.d.ts +11 -0
  217. package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpSectionHandler.d.ts +0 -2
  218. package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpShapeHandler.d.ts +0 -2
  219. package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpSlideHandler.d.ts +11 -0
  220. package/dist/plugin-pointer/interact/default/create/normal/hover/CreateHoverNodeProcessor.d.ts +2 -2
  221. package/dist/plugin-pointer/interact/default/create/normal/hover/CreateLineMoveProcessor.d.ts +3 -3
  222. package/dist/plugin-pointer/interact/default/curveControlPoint/BezierCurve.d.ts +42 -0
  223. package/dist/plugin-pointer/interact/default/curveControlPoint/BezierWorker.d.ts +34 -0
  224. package/dist/plugin-pointer/interact/default/curveControlPoint/CurveControlPointMode.d.ts +7 -0
  225. package/dist/plugin-pointer/interact/default/curveControlPoint/CurveControlPointProcessor.d.ts +20 -0
  226. package/dist/plugin-pointer/interact/default/curveControlPoint/utils.d.ts +5 -0
  227. package/dist/plugin-pointer/interact/default/curveEndPoint/CurveEndPointMode.d.ts +7 -0
  228. package/dist/plugin-pointer/interact/default/curveEndPoint/CurveEndProcessor.d.ts +16 -0
  229. package/dist/plugin-pointer/interact/default/dbClick/handler/DBClickTextHandler.d.ts +2 -1
  230. package/dist/plugin-pointer/interact/default/dbClick/handler/DbCheckboxHandler.d.ts +11 -0
  231. package/dist/plugin-pointer/interact/default/drag/DragProcessor.d.ts +2 -0
  232. package/dist/plugin-pointer/interact/default/dragLineText/DragLineTextMode.d.ts +7 -0
  233. package/dist/plugin-pointer/interact/default/dragLineText/DragLineTextProcessor.d.ts +15 -0
  234. package/dist/plugin-pointer/interact/default/dragLineText/handler/AbsLineIntersectHandler.d.ts +10 -0
  235. package/dist/plugin-pointer/interact/default/dragLineText/handler/CurveLineIntersectHandler.d.ts +12 -0
  236. package/dist/plugin-pointer/interact/default/dragLineText/handler/LineShapeIntersectResult.d.ts +5 -0
  237. package/dist/plugin-pointer/interact/default/dragLineText/handler/PolyLineIntersectHandler.d.ts +18 -0
  238. package/dist/plugin-pointer/interact/default/dragLineText/handler/SimpleLineIntersectHandler.d.ts +12 -0
  239. package/dist/plugin-pointer/interact/default/dragSelectText/DragSelectTextProcessor.d.ts +2 -2
  240. package/dist/plugin-pointer/interact/default/dragSlide/DragSlideMode.d.ts +7 -0
  241. package/dist/plugin-pointer/interact/default/dragSlide/DragSlideProcessor.d.ts +55 -0
  242. package/dist/plugin-pointer/interact/default/group/GroupMode.d.ts +1 -1
  243. package/dist/plugin-pointer/interact/default/group/GroupProcessor.d.ts +2 -0
  244. package/dist/plugin-pointer/interact/default/group/handler/AbsGroupHandler.d.ts +8 -0
  245. package/dist/plugin-pointer/interact/default/group/handler/CmdGroupHandler.d.ts +9 -0
  246. package/dist/plugin-pointer/interact/default/group/handler/NormalGroupHandler.d.ts +9 -0
  247. package/dist/plugin-pointer/interact/default/lineControlPoint/LineControlPointProcessor.d.ts +2 -0
  248. package/dist/plugin-pointer/interact/default/lineEnd/DragLineEndProcessor.d.ts +6 -2
  249. package/dist/plugin-pointer/interact/default/lineEnd/handler/DragCurveLineEndHandler.d.ts +14 -0
  250. package/dist/plugin-pointer/interact/default/normal/cursor/handler/CurveControlPointCursorHandler.d.ts +9 -0
  251. package/dist/plugin-pointer/interact/default/normal/cursor/handler/CurveEndPointCursorHandler.d.ts +9 -0
  252. package/dist/plugin-pointer/interact/default/normal/cursor/handler/HoverSlideCursorHandler.d.ts +7 -0
  253. package/dist/plugin-pointer/interact/default/normal/cursor/handler/LineTextCursorHandler.d.ts +9 -0
  254. package/dist/plugin-pointer/interact/default/normal/cursor/handler/NormalCursorHandler.d.ts +2 -2
  255. package/dist/plugin-pointer/interact/default/normal/cursor/handler/RotateCursorHandler.d.ts +2 -2
  256. package/dist/plugin-pointer/interact/default/normal/cursor/handler/SlideGapInsertHandler.d.ts +7 -0
  257. package/dist/plugin-pointer/interact/default/normal/cursor/handler/StretchCursorHandler.d.ts +2 -2
  258. package/dist/plugin-pointer/interact/default/rotate/RotateMode.d.ts +2 -2
  259. package/dist/plugin-pointer/interact/default/stretch/AbsStretchProcessor.d.ts +4 -0
  260. package/dist/plugin-pointer/interact/default/stretch/SingleStretchMode.d.ts +4 -4
  261. package/dist/plugin-pointer/interact/default/stretch/SingleStretchProcessorV2.d.ts +5 -3
  262. package/dist/plugin-pointer/interact/default/stretch/StretchMode.d.ts +2 -2
  263. package/dist/plugin-pointer/interact/default/stretch/StretchProcessorV2.d.ts +4 -1
  264. package/dist/plugin-pointer/interact/default/stretch/handler/AbsStretchHandler.d.ts +2 -1
  265. package/dist/plugin-pointer/interact/default/stretch/handler/CheckboxTextStretchHandler.d.ts +10 -0
  266. package/dist/plugin-pointer/interact/default/stretch/handler/SingleStretchSectionHandler.d.ts +11 -0
  267. package/dist/plugin-pointer/interact/default/stretch/handler/{SingleStretchNodeHandler.d.ts → StretchSlideContainerHandler.d.ts} +1 -1
  268. package/dist/plugin-pointer/interact/default/stretch/handler/TextStretchHandler.d.ts +10 -0
  269. package/dist/plugin-pointer/interact/detector/DetectorResult.d.ts +10 -0
  270. package/dist/plugin-pointer/interact/detector/RotateDetector.d.ts +3 -0
  271. package/dist/plugin-pointer/interact/detector/dragText/DragLineTextDetector.d.ts +9 -0
  272. package/dist/plugin-pointer/interact/detector/line/CurveControlPointDetector.d.ts +16 -0
  273. package/dist/plugin-pointer/interact/detector/line/CurveEndPointDetector.d.ts +10 -0
  274. package/dist/plugin-pointer/interact/detector/slide/EmptySlideContainerAddDetector.d.ts +12 -0
  275. package/dist/plugin-pointer/interact/detector/slide/SlideGapDetector.d.ts +15 -0
  276. package/dist/plugin-pointer/interact/detector/stretch/StretchDetector.d.ts +1 -0
  277. package/dist/plugin-pointer/interact/playSlide/PlayNormalMode.d.ts +8 -0
  278. package/dist/plugin-pointer/interact/playSlide/PlaySlideMode.d.ts +7 -0
  279. package/dist/plugin-pointer/interact/utils/RectUtils.d.ts +1 -1
  280. package/dist/plugin-pointer/interact/viewOnly/normal/ViewOnlyHoverProcessor.d.ts +9 -0
  281. package/dist/plugin-pointer/mobile/TouchScrollZoomWorker.d.ts +37 -0
  282. package/dist/plugin-resize/WindowResizePlugin.d.ts +0 -3
  283. package/dist/plugin-wheel/WheelEventPlugin.d.ts +3 -3
  284. package/dist/preview/IPreviewConnectInfo.d.ts +6 -0
  285. package/dist/preview/PreviewQuickCreateManager.d.ts +2 -0
  286. package/dist/preview/previewCreate/handler/AbsPreviewHandler.d.ts +3 -1
  287. package/dist/preview/previewCreate/handler/PreviewCheckboxHandler.d.ts +7 -0
  288. package/dist/preview/previewCreate/handler/PreviewCheckboxTextHandler.d.ts +7 -0
  289. package/dist/preview/previewCreate/handler/PreviewSectionHandler.d.ts +0 -3
  290. package/dist/preview/previewCreate/handler/PreviewShapeHandler.d.ts +0 -3
  291. package/dist/preview/previewCreate/handler/PreviewSlideHandler.d.ts +7 -0
  292. package/dist/preview/previewCreate/handler/previewLine/PreviewLineHandler.d.ts +12 -0
  293. package/dist/preview/previewCreate/handler/previewLine/helper/AbsLineHelper.d.ts +6 -0
  294. package/dist/preview/previewCreate/handler/previewLine/helper/CurveLineHelper.d.ts +5 -0
  295. package/dist/preview/previewCreate/handler/previewLine/helper/PolyLineHelper.d.ts +5 -0
  296. package/dist/preview/previewCreate/handler/previewLine/helper/RoundPolyLineHelper.d.ts +5 -0
  297. package/dist/preview/previewCreate/handler/previewLine/helper/SimpleLineHelper.d.ts +7 -0
  298. package/dist/renderText/RenderText.d.ts +42 -11
  299. package/dist/renderText/TextBlock.d.ts +54 -0
  300. package/dist/renderText/TextConstants.d.ts +3 -0
  301. package/dist/renderText/TextLine.d.ts +25 -11
  302. package/dist/renderText/TextParagraph.d.ts +12 -3
  303. package/dist/renderText/TypesettingCtx.d.ts +6 -0
  304. package/dist/renderText/editInfo/EditTextWorker.d.ts +7 -1
  305. package/dist/renderText/editInfo/baseprops/OolongLineModifyWorker.d.ts +6 -0
  306. package/dist/renderText/editInfo/baseprops/OolongNodeModifyWorker.d.ts +10 -0
  307. package/dist/renderText/linebreak/CharacterLineBreakWorker.d.ts +6 -0
  308. package/dist/renderText/measure/TextBlockMeasureWorker.d.ts +5 -0
  309. package/dist/renderText/paraStyle/IParagraphStyleProp.d.ts +9 -0
  310. package/dist/renderText/paraStyle/ITextQuoteInfo.d.ts +8 -0
  311. package/dist/renderText/paraStyle/PrefixDrawer.d.ts +28 -0
  312. package/dist/renderText/paraStyle/TextQuoteLineWorker.d.ts +14 -0
  313. package/dist/renderText/richText/ITextBlock.d.ts +30 -0
  314. package/dist/renderText/richText/RichTextHelper.d.ts +31 -0
  315. package/dist/renderText/richText/RichTextParagraph.d.ts +5 -0
  316. package/dist/renderText/richText/RichTextWord.d.ts +4 -0
  317. package/dist/renderText/selection/TextSelectionDeleteWorker.d.ts +2 -2
  318. package/dist/renderText/split/GraphemeSplit.d.ts +1 -0
  319. package/dist/renderText/split/IntlSplit.d.ts +1 -0
  320. package/dist/renderText/split/LinebreakSplit.d.ts +9 -0
  321. package/dist/resource-manager/AbsResourceInstance.d.ts +2 -1
  322. package/dist/resource-manager/IResourceInfo.d.ts +3 -0
  323. package/dist/resource-manager/NormalResourceInstance.d.ts +2 -1
  324. package/dist/resource-manager/ResourceEnumType.d.ts +4 -0
  325. package/dist/resource-manager/ResourceManager.d.ts +7 -2
  326. package/dist/resource-manager/index.d.ts +1 -0
  327. package/dist/select/SelectManager.d.ts +3 -1
  328. package/dist/select/status/SelectStatusContext.d.ts +2 -0
  329. package/dist/select/status/readOnly/ReadOnlyMultiStatusHandler.d.ts +8 -0
  330. package/dist/select/status/readOnly/ReadOnlySingleStatusHandler.d.ts +11 -0
  331. package/dist/select/status/single/SingleCurveStatusHandler.d.ts +7 -0
  332. package/dist/select/status/single/SingleSlideContainerStatusHandler.d.ts +7 -0
  333. package/dist/select/status/single/SingleSlideEditStatusHandler.d.ts +8 -0
  334. package/dist/select/status/single/SingleSlideStatusHandler.d.ts +7 -0
  335. package/dist/slide/SlideCoverManager.d.ts +13 -0
  336. package/dist/slide/SlideManager.d.ts +47 -0
  337. package/dist/slot/SlotKeyType.d.ts +4 -1
  338. package/dist/tool/ToolEnum.d.ts +3 -1
  339. package/dist/tool/WidgetEnum.d.ts +4 -0
  340. package/dist/tool/index.d.ts +1 -0
  341. package/dist/utils/MobileUtils.d.ts +6 -0
  342. package/package.json +5 -33
package/README.md CHANGED
@@ -1,5 +1,153 @@
1
- # oolong
1
+ # Oolong Engine
2
2
 
3
- 颠覆word的新型文档,oolong-document,乌龙文档
4
- 文档以.oolong扩展名结尾定义
5
- author: J.N
3
+ <div align="center">
4
+
5
+ **颠覆传统的新型文档引擎 · Oolong Document**
6
+
7
+ [![Version](https://img.shields.io/badge/version-0.0.1-blue.svg)](https://github.com/jasonnee250/oolong)
8
+ [![Node](https://img.shields.io/badge/node-%5E18.20.0-brightgreen.svg)](https://nodejs.org)
9
+ [![License](https://img.shields.io/badge/license-MIT-green.svg)](LICENSE)
10
+
11
+ </div>
12
+
13
+ ## 📖 简介
14
+
15
+ Oolong Engine 是一个创新的文档渲染引擎,旨在颠覆传统的文档编辑体验。它提供了强大的图形节点系统,支持丰富的可视化内容创作。
16
+
17
+ ### 核心特性
18
+
19
+ - 🎨 **灵活的图形系统** - 支持形状、连线、SVG、图片等多种节点类型
20
+ - 🧩 **属性组合设计** - 通过 Props 组合实现高度可扩展的节点定义
21
+ - 📐 **精确的坐标系统** - 支持父子坐标系、旋转变换等复杂布局
22
+ - 🎯 **丰富的图形类型** - 矩形、圆形、三角形、菱形、连线、箭头等
23
+ - 🖼️ **SVG 支持** - 原生支持 SVG 矢量图形嵌入
24
+ - 🔗 **连接系统** - 智能的节点连接和自动路由功能
25
+ - 📦 **容器与分组** - Section 和 Group 节点支持层次化组织
26
+
27
+ ### 文档格式
28
+
29
+ - 文档以 `.oolong` 扩展名保存
30
+ - 基于 JSON 的数据结构,易于解析和处理
31
+ - 完整的类型定义,支持 TypeScript
32
+
33
+ ## 🚀 快速开始
34
+
35
+ ### 环境要求
36
+
37
+ - Node.js >= 18.20.0
38
+ - pnpm >= 8.0.0
39
+
40
+ ### 安装依赖
41
+
42
+ ```bash
43
+ pnpm install
44
+ ```
45
+
46
+ ### 开发模式
47
+
48
+ 启动开发服务器(带热更新):
49
+
50
+ ```bash
51
+ pnpm dev
52
+ ```
53
+
54
+ 或者从根目录运行:
55
+
56
+ ```bash
57
+ pnpm run:engine
58
+ ```
59
+
60
+ 开发服务器将在 `http://localhost:5173` 启动,你可以在浏览器中查看 demo。
61
+
62
+ ### 构建
63
+
64
+ 构建生产版本:
65
+
66
+ ```bash
67
+ pnpm build
68
+ ```
69
+
70
+ 构建产物将输出到 `dist/` 目录。
71
+
72
+ ### 测试
73
+
74
+ 运行单元测试:
75
+
76
+ ```bash
77
+ pnpm test
78
+ ```
79
+
80
+ ## 📚 文档
81
+
82
+ 详细的 API 文档和数据结构说明,请参考:
83
+
84
+ - [数据结构说明](./description/DESCRIPTION.md) - 完整的图形节点和属性系统文档
85
+ - [示例数据](./description/example/) - 各种图表和文档的示例数据
86
+
87
+ ### 示例
88
+
89
+ 查看 `demo/` 目录下的示例代码,了解如何使用 Oolong Engine:
90
+
91
+ ```typescript
92
+ import { OolongNode } from "@oolong/engine";
93
+
94
+ // 创建一个简单的矩形节点
95
+ const node: OolongNode = {
96
+ id: "a1:1",
97
+ type: 0,
98
+ parentId: "ROOT",
99
+ capInfo: {
100
+ baseProps: { x: 100, y: 100, width: 200, height: 100, angle: 0 },
101
+ colorProps: { color: "#E0E2FA", alpha: 1 },
102
+ borderProps: { color: "#7B83EA", alpha: 1, width: 2, dashType: 1 },
103
+ textProps: { text: "Hello Oolong!", fontSize: 16 /* ... */ },
104
+ shapeProps: { shapeCode: 16 }, // RoundRect
105
+ },
106
+ children: [],
107
+ zIndex: 1,
108
+ };
109
+ ```
110
+
111
+ ## 🏗️ 项目结构
112
+
113
+ ```
114
+ packages/oolong-engine/
115
+ ├── src/ # 源代码
116
+ │ ├── app/ # 应用核心
117
+ │ ├── component/ # 组件
118
+ │ ├── graphics/ # 图形渲染
119
+ │ ├── math/ # 数学工具
120
+ │ ├── resource/ # 资源管理
121
+ │ └── types/ # 类型定义
122
+ ├── demo/ # 示例代码
123
+ ├── description/ # 文档说明
124
+ │ ├── DESCRIPTION.md
125
+ │ └── example/ # 示例数据
126
+ ├── test/ # 测试文件
127
+ └── package.json
128
+ ```
129
+
130
+ ## 🔧 技术栈
131
+
132
+ - **TypeScript** - 类型安全的开发体验
133
+ - **Canvas API** - 高性能图形渲染
134
+ - **Vite** - 快速的开发构建工具
135
+ - **Jest** - 单元测试框架
136
+
137
+ ## 🤝 贡献
138
+
139
+ 欢迎提交 Issue 和 Pull Request!
140
+
141
+ ## 📄 许可证
142
+
143
+ MIT License
144
+
145
+ ## 👨‍💻 作者
146
+
147
+ **J.N (Jason Nee)**
148
+
149
+ ---
150
+
151
+ <div align="center">
152
+ Made with ❤️ by the Oolong Team
153
+ </div>
@@ -0,0 +1,6 @@
1
+ import { InteractiveEvent } from "../../common";
2
+ import { AppEventContext } from "../../app";
3
+ import { OolongCheckbox } from "../../graphics/widget/checkbox/OolongCheckbox";
4
+ export declare class CheckboxWorker {
5
+ checkbox(node: OolongCheckbox, event: InteractiveEvent, ctx: AppEventContext): void;
6
+ }
@@ -2,6 +2,7 @@ import { AppEventContext } from "../../../app";
2
2
  import { PasteData } from "../../../common";
3
3
  export declare class CopyWorker {
4
4
  work(ctx: AppEventContext): PasteData | null;
5
+ copyByIds(ids: string[], ctx: AppEventContext): PasteData | null;
5
6
  private makeupPasteDO;
6
7
  private collectResourceInfo;
7
8
  }
@@ -4,4 +4,13 @@ export declare class DuplicateWorker {
4
4
  private copyWorker;
5
5
  private pasteWorker;
6
6
  work(ctx: AppEventContext, delta?: IPoint): void;
7
+ duplicateByIds(ids: string[], ctx: AppEventContext, delta?: IPoint): void;
8
+ /**
9
+ * 处理SlideContainer中的复制插入逻辑
10
+ */
11
+ private handleSlideContainerDuplicate;
12
+ /**
13
+ * 获取节点在slideContainer的children中的位置
14
+ */
15
+ private getNodePosition;
7
16
  }
@@ -0,0 +1,10 @@
1
+ import { IPoint, NodeType } from "../../idl";
2
+ import { AbsCreateHandler } from "./handler/AbsCreateHandler";
3
+ import { AppEventContext } from "../../app";
4
+ import { AbsProps, GraphicNode } from "../../graphics";
5
+ export declare class CreateWorker {
6
+ creatorMap: Map<NodeType, AbsCreateHandler>;
7
+ getCreateHandler(nodeTpe: NodeType): AbsCreateHandler | undefined;
8
+ makeupDefaultProps(nodeTpe: NodeType, ctx: AppEventContext, shapeCode: number, globalPos: IPoint, container?: GraphicNode): AbsProps[];
9
+ makeupPreviewProps(nodeTpe: NodeType, ctx: AppEventContext, shapeCode: number, globalPos: IPoint): AbsProps[];
10
+ }
@@ -0,0 +1,15 @@
1
+ import { AppEventContext } from "../../../app";
2
+ import { IPoint } from "../../../idl";
3
+ import { AbsProps, GraphicNode } from "../../../graphics";
4
+ export declare abstract class AbsCreateHandler {
5
+ /**
6
+ * 生成创建的默认属性
7
+ * @param ctx
8
+ * @param shapeCode
9
+ * @param globalPos
10
+ * @param container
11
+ */
12
+ makeupDefaultProps(ctx: AppEventContext, shapeCode: number, globalPos: IPoint, container?: GraphicNode): AbsProps[];
13
+ makePreviewProps(ctx: AppEventContext, shapeCode: number, globalPos: IPoint): AbsProps[];
14
+ abstract makeupProps(ctx: AppEventContext, shapeCode: number, globalPos: IPoint, alpha: number, container?: GraphicNode): AbsProps[];
15
+ }
@@ -0,0 +1,7 @@
1
+ import { AbsCreateHandler } from "./AbsCreateHandler";
2
+ import { AppEventContext } from "../../../app";
3
+ import { IPoint } from "../../../idl";
4
+ import { AbsProps, GraphicNode } from "../../../graphics";
5
+ export declare class CheckboxCreateHandler extends AbsCreateHandler {
6
+ makeupProps(ctx: AppEventContext, shapeCode: number, globalPos: IPoint, alpha: number, container?: GraphicNode): AbsProps[];
7
+ }
@@ -0,0 +1,7 @@
1
+ import { AbsCreateHandler } from "./AbsCreateHandler";
2
+ import { AppEventContext } from "../../../app";
3
+ import { IPoint } from "../../../idl";
4
+ import { AbsProps, GraphicNode } from "../../../graphics";
5
+ export declare class CheckboxTextCreateHandler extends AbsCreateHandler {
6
+ makeupProps(ctx: AppEventContext, shapeCode: number, globalPos: IPoint, alpha: number, container?: GraphicNode): AbsProps[];
7
+ }
@@ -0,0 +1,8 @@
1
+ import { AbsCreateHandler } from "./AbsCreateHandler";
2
+ import { AppEventContext } from "../../../app";
3
+ import { IPoint } from "../../../idl";
4
+ import { AbsProps, GraphicNode } from "../../../graphics";
5
+ export declare class LineCreateHandler extends AbsCreateHandler {
6
+ makeupProps(ctx: AppEventContext, shapeCode: number, pos: IPoint, alpha: number, container?: GraphicNode): AbsProps[];
7
+ private makeupLinePoints;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { AbsCreateHandler } from "./AbsCreateHandler";
2
+ import { AppEventContext } from "../../../app";
3
+ import { IPoint } from "../../../idl";
4
+ import { AbsProps, GraphicNode } from "../../../graphics";
5
+ export declare class SectionCreateHandler extends AbsCreateHandler {
6
+ makeupProps(ctx: AppEventContext, shapeCode: number, globalPos: IPoint, alpha: number, container?: GraphicNode): AbsProps[];
7
+ }
@@ -0,0 +1,8 @@
1
+ import { AbsCreateHandler } from "./AbsCreateHandler";
2
+ import { AppEventContext } from "../../../app";
3
+ import { IPoint } from "../../../idl";
4
+ import { AbsProps, GraphicNode } from "../../../graphics";
5
+ export declare class ShapeCreateHandler extends AbsCreateHandler {
6
+ makeupProps(ctx: AppEventContext, shapeCode: number, globalPos: IPoint, alpha: number, container?: GraphicNode): AbsProps[];
7
+ private computeDefaultSize;
8
+ }
@@ -0,0 +1,7 @@
1
+ import { AbsCreateHandler } from "./AbsCreateHandler";
2
+ import { AppEventContext } from "../../../app";
3
+ import { IPoint } from "../../../idl";
4
+ import { AbsProps, GraphicNode } from "../../../graphics";
5
+ export declare class SlideCreateHandler extends AbsCreateHandler {
6
+ makeupProps(ctx: AppEventContext, shapeCode: number, globalPos: IPoint, alpha: number, container?: GraphicNode): AbsProps[];
7
+ }
@@ -1,5 +1,6 @@
1
1
  import { AppEventContext } from "../../app";
2
2
  export declare class DeleteWorker {
3
3
  work(context: AppEventContext): void;
4
+ deleteByIds(context: AppEventContext, ids: string[]): void;
4
5
  private addAllChildren;
5
6
  }
@@ -1,7 +1,9 @@
1
1
  import { GraphicNode } from "../../graphics";
2
2
  import { AppEventContext } from "../../app";
3
3
  import { OolongGroup } from "../../graphics/OolongGroup";
4
+ import { RelatedGroupBaseWorker } from "./RelatedGroupBaseWorker";
4
5
  export declare class GroupWorker {
6
+ groupBaseWorker: RelatedGroupBaseWorker;
5
7
  group(originNodes: GraphicNode[], ctx: AppEventContext): void;
6
8
  unGroup(group: OolongGroup, ctx: AppEventContext): void;
7
9
  }
@@ -1 +1,3 @@
1
1
  export * from "./moveLayer/MoveLayerWorker";
2
+ export * from "./text/TextUtils";
3
+ export * from "./slide/SlideCoverInfo";
@@ -0,0 +1,8 @@
1
+ import { OolongLine } from "../../graphics";
2
+ import { AppEventContext } from "../../app";
3
+ import { LineTextWorker } from "./LineTextWorker";
4
+ export declare class BatchLineTextWorker {
5
+ workerMap: Map<OolongLine, LineTextWorker>;
6
+ init(lines: OolongLine[]): void;
7
+ work(lines: OolongLine[], ctx: AppEventContext, streaming: boolean): void;
8
+ }
@@ -2,10 +2,14 @@ import { GraphicNode, OolongLine } from "../../graphics";
2
2
  import { AppEventContext } from "../../app";
3
3
  import { AbsLineLayoutHandler } from "./handler/AbsLineLayoutHandler";
4
4
  import { IPoint } from "../../idl";
5
+ import { BatchLineTextWorker } from "./BatchLineTextWorker";
5
6
  export declare class LayoutWorker {
6
7
  handlers: AbsLineLayoutHandler[];
8
+ batchLineTextWorker: BatchLineTextWorker;
7
9
  work(lines: OolongLine[], ctx: AppEventContext, streaming: boolean): void;
8
10
  layoutToPoints(line: OolongLine, ctx: AppEventContext): IPoint[];
9
11
  handleAndMsg(line: OolongLine, ctx: AppEventContext, streaming: boolean): void;
10
- collectNodeLinks(node: GraphicNode, ctx: AppEventContext, res: Set<OolongLine>): void;
12
+ batchCollectNodeLinks(nodes: GraphicNode[], ctx: AppEventContext, linkLines: Set<OolongLine>): void;
13
+ collectNodeLinks(node: GraphicNode, ctx: AppEventContext, res: Set<OolongLine>, containerSet?: Set<GraphicNode>): void;
14
+ private judgeEndNode;
11
15
  }
@@ -0,0 +1,7 @@
1
+ import { OolongLine } from "../../graphics";
2
+ import { AppEventContext } from "../../app";
3
+ export declare class LineTextWorker {
4
+ t: number;
5
+ init(line: OolongLine): void;
6
+ work(line: OolongLine, ctx: AppEventContext, streaming: boolean): void;
7
+ }
@@ -4,7 +4,9 @@ import { AppEventContext } from "../../../app/index";
4
4
  import { UpdateNodeData } from "../../../action/index";
5
5
  import { IPoint } from "../../../idl/index";
6
6
  import { ConnectInfo } from "../../../graphics/base/NodeConnectEndType";
7
+ import { BezierWorker } from "../../../plugin-pointer/interact/default/curveControlPoint/BezierWorker";
7
8
  export declare class CurveLayoutHandler extends AbsLineLayoutHandler {
9
+ bezierWorker: BezierWorker;
8
10
  enable(line: OolongLine): boolean;
9
11
  handle(line: OolongLine, ctx: AppEventContext): UpdateNodeData;
10
12
  protected computeLinePoints(start: IPoint, end: IPoint): IPoint[];
@@ -4,8 +4,30 @@ import { NodeConnectEndType } from "../../graphics/base/NodeConnectEndType";
4
4
  import { AppEventContext } from "../../app";
5
5
  export declare const QUICK_CREATE_OFFSET = 100;
6
6
  export declare const QUICK_CREATE_PADDING = 50;
7
+ /**
8
+ * QuickCreateWorker 类的主要功能是为图形应用中的新节点动态计算位置,确保新节点不会与现有节点重叠。
9
+ */
7
10
  export declare class QuickCreateWorker {
11
+ /**
12
+ * 该方法根据起始节点和相对位置计算“终点节点”的相对位置。它通过调用 startNode 的 getConnectAnchor 方法获取控制点,并根据连接类型(如 Top、Bottom 等)选择合适的控制点
13
+ * @param startNode
14
+ * @param relativePos
15
+ */
8
16
  computeEndNodeRelative(startNode: GraphicNode, relativePos: IPoint): IPoint;
17
+ /**
18
+ * 该方法判断是否可以在指定位置快速创建新节点。它通过计算连接类型并创建一个搜索区域来检查该区域内是否有其他节点存在。
19
+ * 如果没有其他节点,则返回 true,表示可以快速创建新节点
20
+ * @param startNode
21
+ * @param relativePos
22
+ * @param ctx
23
+ */
24
+ judgeQuickCreateMode(startNode: GraphicNode, relativePos: IPoint, ctx: AppEventContext): GraphicNode | null;
25
+ /**
26
+ * 该方法根据起始节点、相对位置和应用上下文计算“预览节点”的位置。它通过 GraphicUtils.computeNodeConnectEnd 确定连接类型,并调用相应的辅助方法(如 findTopPlace、findBottomPlace 等)来计算具体位置
27
+ * @param startNode
28
+ * @param relativePos
29
+ * @param ctx
30
+ */
9
31
  computePreviewNodePos(startNode: GraphicNode, relativePos: IPoint, ctx: AppEventContext): IPoint;
10
32
  protected findTopPlace(startNode: GraphicNode, connectEndType: NodeConnectEndType, ctx: AppEventContext): IPoint;
11
33
  protected findBottomPlace(startNode: GraphicNode, connectEndType: NodeConnectEndType, ctx: AppEventContext): IPoint;
@@ -0,0 +1,6 @@
1
+ import { AppEventContext } from "../../app";
2
+ export declare class WindowResizeWorker {
3
+ prevDevicePixelRatio: number;
4
+ resize(eventCtx: AppEventContext): void;
5
+ private resizeCanvas;
6
+ }
@@ -0,0 +1,6 @@
1
+ export interface SlideCoverInfo {
2
+ id: string;
3
+ blobUrl: string;
4
+ width: number;
5
+ height: number;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { DocState } from "../../app";
2
+ export declare class SlidePlayWorker {
3
+ private getTotalCount;
4
+ playToNext(docState: DocState): string | null;
5
+ playToPrev(docState: DocState): string | null;
6
+ }
@@ -1,10 +1,11 @@
1
+ import { GraphicNode } from "../../graphics";
1
2
  import { IPoint } from "../../idl";
2
3
  import { AddNodeInfo } from "../../action";
3
4
  import { AppEventContext } from "../../app";
4
5
  export declare class CreateSvgWorker {
5
- addSvgNodeBySvgCode(svgCode: string, pos: IPoint, ctx: AppEventContext): Promise<{
6
+ addSvgNodeBySvgCode(svgCode: string, pos: IPoint, ctx: AppEventContext, parent?: GraphicNode): Promise<{
6
7
  url: string;
7
8
  addNodeInfo: AddNodeInfo;
8
9
  }>;
9
- computeAddSvgNode(svgCode: string, url: string, pos: IPoint, ctx: AppEventContext): AddNodeInfo;
10
+ computeAddSvgNode(svgCode: string, url: string, pos: IPoint, ctx: AppEventContext, parent?: GraphicNode): AddNodeInfo;
10
11
  }
@@ -1,5 +1,6 @@
1
1
  import { OolongSVGNode } from "../../graphics";
2
2
  import { RenderManager } from "../../action";
3
+ import { ResourceManager } from "../../resource-manager";
3
4
  export declare class GenSvgBitmapWorker {
4
- work(svgNode: OolongSVGNode, svgCode: string, renderManager: RenderManager): Promise<void>;
5
+ work(svgNode: OolongSVGNode, svgCode: string, renderManager: RenderManager, resourceManager: ResourceManager): Promise<void>;
5
6
  }
@@ -0,0 +1,8 @@
1
+ export declare class CacheOfflineCanvas {
2
+ private offlineCanvas;
3
+ private ctx;
4
+ static instance: CacheOfflineCanvas | null;
5
+ constructor();
6
+ static getInstance(): CacheOfflineCanvas;
7
+ getCanvasCtx(): CanvasRenderingContext2D;
8
+ }
@@ -0,0 +1,8 @@
1
+ import { DocumentInfo, NodeInfo } from "../../idl";
2
+ import { AppEventContext } from "../../app";
3
+ export declare class TextUtils {
4
+ static dealWithAIDocumentInfo(docInfo: DocumentInfo): void;
5
+ static dealNodeInfo(nodeInfo: NodeInfo): void;
6
+ static dealNodeSizeForFullText(nodeInfo: NodeInfo): void;
7
+ static blurText(ctx: AppEventContext): void;
8
+ }
@@ -0,0 +1,37 @@
1
+ import { RenderText, TextCursorMoveWorker, TextCursorPosition } from "../../renderText";
2
+ import { EditTextInfo } from "../../input/EditTextInfo";
3
+ import { TextProps } from "../../graphics";
4
+ import { AppEventContext } from "../../app";
5
+ /**
6
+ * 做文字删除时操作的worker
7
+ */
8
+ export declare class TextDeleteInputWorker {
9
+ cursorMoveWorker: TextCursorMoveWorker;
10
+ work(editTextInfo: EditTextInfo, eventCtx: AppEventContext, times?: number): void;
11
+ computeUpdateTextProps(editTextInfo: EditTextInfo, times: number): {
12
+ updateTextProps: Partial<TextProps>;
13
+ };
14
+ /**
15
+ * 删除文字
16
+ * @param renderText
17
+ * @param textCursor
18
+ * @param times
19
+ */
20
+ deleteText(renderText: RenderText, textCursor: TextCursorPosition, times: number): string;
21
+ deleteTextByCursorPos(renderText: RenderText, deleteStartPos: TextCursorPosition, deleteEndPos: TextCursorPosition): string;
22
+ /**
23
+ * 生成删除后的富文本XML
24
+ * @param renderText
25
+ * @param startPos 删除起始位置
26
+ * @param endPos 删除结束位置
27
+ */
28
+ private generateDeletedXML;
29
+ /**
30
+ * 同一段落内删除
31
+ */
32
+ private deleteSameParagraph;
33
+ /**
34
+ * 跨段落删除
35
+ */
36
+ private deleteCrossParagraph;
37
+ }
@@ -0,0 +1,72 @@
1
+ import { RenderText, TextCursorPosition } from "../../renderText";
2
+ import { EditTextInfo } from "../../input/EditTextInfo";
3
+ import { TextProps } from "../../graphics";
4
+ import { AppEventContext } from "../../app";
5
+ /**
6
+ * 做文字输入编辑的worker
7
+ */
8
+ export declare class TextInputWorker {
9
+ work(editTextInfo: EditTextInfo, eventCtx: AppEventContext, data: string): void;
10
+ computeUpdateTextProps(editTextInfo: EditTextInfo, data: string): {
11
+ updateTextProps: Partial<TextProps>;
12
+ };
13
+ editText(renderText: RenderText, textCursor: TextCursorPosition, data: string): string;
14
+ getEditTextPrevNext(renderText: RenderText, textCursor: TextCursorPosition): {
15
+ prev: string;
16
+ next: string;
17
+ };
18
+ /**
19
+ * 对选区添加样式,返回完整的富文本XML
20
+ * @param renderText 渲染文本对象
21
+ * @param startCursor 选区起始光标
22
+ * @param endCursor 选区结束光标
23
+ * @param styleAttrs 要应用的样式属性,如 { color: '#FF0000', bold: 'true', 'font-size': '20' }
24
+ * @returns 完整的富文本XML字符串
25
+ */
26
+ applyStyleToSelection(renderText: RenderText, startCursor: TextCursorPosition, endCursor: TextCursorPosition, styleAttrs: Record<string, string>): string;
27
+ /**
28
+ * 规范化选区,确保start在end之前
29
+ */
30
+ private normalizeSelection;
31
+ /**
32
+ * 计算光标的全局位置(用于比较)
33
+ */
34
+ private getCursorPosition;
35
+ /**
36
+ * 生成样式字符串
37
+ */
38
+ private generateStyleString;
39
+ /**
40
+ * 合并样式属性,新样式会覆盖旧样式
41
+ * @param baseStyleStr 基础样式字符串,如 "color='#FF0000' font-size='24'"
42
+ * @param newStyleAttrs 新样式属性对象
43
+ * @returns 合并后的样式字符串
44
+ */
45
+ private mergeStyles;
46
+ /**
47
+ * 同一行内应用样式
48
+ * 注意:charIndex 指向字符的索引,光标在该字符之后
49
+ * 选区是 (startCharIndex, endCharIndex],即不包含 startCharIndex,包含 endCharIndex
50
+ */
51
+ private applyStyleSameLine;
52
+ /**
53
+ * 在一行内构建选区XML
54
+ * @param startCharIndex -1 表示从行首开始
55
+ * @param endCharIndex -1 表示到行首结束(通常不会出现这种情况)
56
+ */
57
+ private buildSelectionXMLInLine;
58
+ /**
59
+ * 获取文本块中指定范围的文本
60
+ */
61
+ private getTextRange;
62
+ /**
63
+ * 同一段落不同行应用样式
64
+ * 选区是 (startCharIndex, endCharIndex]
65
+ */
66
+ private applyStyleSameParagraph;
67
+ /**
68
+ * 不同段落应用样式
69
+ * 选区是 (startCharIndex, endCharIndex]
70
+ */
71
+ private applyStyleDifferentParagraphs;
72
+ }
@@ -0,0 +1,12 @@
1
+ import { RenderText, TextCursorMoveWorker, TextCursorPosition } from "../../renderText";
2
+ import { EditTextInfo } from "../../input/EditTextInfo";
3
+ import { AppEventContext } from "../../app";
4
+ import { TextProps } from "../../graphics";
5
+ export declare class TextLineBreakWorker {
6
+ cursorMoveWorker: TextCursorMoveWorker;
7
+ work(editTextInfo: EditTextInfo, eventCtx: AppEventContext): void;
8
+ computeUpdateTextProps(editTextInfo: EditTextInfo): {
9
+ updateTextProps: Partial<TextProps>;
10
+ };
11
+ lineBreak(renderText: RenderText, textCursor: TextCursorPosition): string;
12
+ }
@@ -0,0 +1,8 @@
1
+ import { GraphicNode } from "../../graphics";
2
+ import { AppEventContext } from "../../app";
3
+ export declare class TextParagraphStyleWorker {
4
+ /**
5
+ * 计算文字段落前序号
6
+ */
7
+ addParagraph(node: GraphicNode, paraIndex: number, ctx: AppEventContext): void;
8
+ }
@@ -0,0 +1,13 @@
1
+ import { TextInputWorker } from "../TextInputWorker";
2
+ import { AppEventContext } from "../../../app";
3
+ import { TextProps } from "../../../graphics";
4
+ import { EditTextInfo } from "../../../input/EditTextInfo";
5
+ import { TextSelectionInfo } from "../../../input/selection/TextSelectionInfo";
6
+ export declare abstract class AbsTextFontWorker {
7
+ protected inputWorker: TextInputWorker;
8
+ protected abstract richStyle(prop: any): Record<string, string>;
9
+ protected abstract textProp(prop: any): Partial<TextProps>;
10
+ changeFontProp(prop: any, context: AppEventContext): void;
11
+ protected changeFontPropForWhole(prop: any, context: AppEventContext): void;
12
+ protected changeFontPropBySelection(prop: any, editInfo: EditTextInfo, selection: TextSelectionInfo, context: AppEventContext): void;
13
+ }
@@ -0,0 +1,6 @@
1
+ import { TextProps } from "../../../graphics";
2
+ import { AbsTextFontWorker } from "./AbsTextFontWorker";
3
+ export declare class TextFontBgColorWorker extends AbsTextFontWorker {
4
+ richStyle(prop: any): Record<string, string>;
5
+ textProp(prop: any): Partial<TextProps>;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { TextProps } from "../../../graphics";
2
+ import { AbsTextFontWorker } from "./AbsTextFontWorker";
3
+ export declare class TextFontBoldWorker extends AbsTextFontWorker {
4
+ richStyle(prop: any): Record<string, string>;
5
+ textProp(prop: any): Partial<TextProps>;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { TextProps } from "../../../graphics";
2
+ import { AbsTextFontWorker } from "./AbsTextFontWorker";
3
+ export declare class TextFontColorWorker extends AbsTextFontWorker {
4
+ richStyle(prop: any): Record<string, string>;
5
+ textProp(prop: any): Partial<TextProps>;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { TextProps } from "../../../graphics";
2
+ import { AbsTextFontWorker } from "./AbsTextFontWorker";
3
+ export declare class TextFontItalicWorker extends AbsTextFontWorker {
4
+ richStyle(prop: any): Record<string, string>;
5
+ textProp(prop: any): Partial<TextProps>;
6
+ }
@@ -0,0 +1,14 @@
1
+ import { TextProps } from "../../../graphics";
2
+ import { AbsTextFontWorker } from "./AbsTextFontWorker";
3
+ import { AppEventContext } from "../../../app";
4
+ import { EditTextWorker } from "../../../renderText";
5
+ import { EditTextInfo } from "../../../input/EditTextInfo";
6
+ import { TextSelectionInfo } from "../../../input/selection/TextSelectionInfo";
7
+ export declare class TextFontSizeWorker extends AbsTextFontWorker {
8
+ protected editTextWorker: EditTextWorker;
9
+ private fontSizeHandlers;
10
+ richStyle(prop: any): Record<string, string>;
11
+ textProp(prop: any): Partial<TextProps>;
12
+ protected changeFontPropBySelection(fontSize: number, editInfo: EditTextInfo, selection: TextSelectionInfo, context: AppEventContext): void;
13
+ protected changeFontPropForWhole(fontSize: number, context: AppEventContext): void;
14
+ }
@@ -0,0 +1,6 @@
1
+ import { TextProps } from "../../../graphics";
2
+ import { AbsTextFontWorker } from "./AbsTextFontWorker";
3
+ export declare class TextFontStrikethroughWorker extends AbsTextFontWorker {
4
+ richStyle(prop: any): Record<string, string>;
5
+ textProp(prop: any): Partial<TextProps>;
6
+ }