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.
- package/README.md +152 -4
- package/dist/ability/checkbox/CheckboxWorker.d.ts +6 -0
- package/dist/ability/copyPaste/copy/CopyWorker.d.ts +1 -0
- package/dist/ability/copyPaste/duplicate/DuplicateWorker.d.ts +9 -0
- package/dist/ability/create/CreateWorker.d.ts +10 -0
- package/dist/ability/create/handler/AbsCreateHandler.d.ts +15 -0
- package/dist/ability/create/handler/CheckboxCreateHandler.d.ts +7 -0
- package/dist/ability/create/handler/CheckboxTextCreateHandler.d.ts +7 -0
- package/dist/ability/create/handler/LineCreateHandler.d.ts +8 -0
- package/dist/ability/create/handler/SectionCreateHandler.d.ts +7 -0
- package/dist/ability/create/handler/ShapeCreateHandler.d.ts +8 -0
- package/dist/ability/create/handler/SlideCreateHandler.d.ts +7 -0
- package/dist/ability/delete/DeleteWorker.d.ts +1 -0
- package/dist/ability/group/GroupWorker.d.ts +2 -0
- package/dist/ability/index.d.ts +2 -0
- package/dist/ability/line/BatchLineTextWorker.d.ts +8 -0
- package/dist/ability/line/LayoutWorker.d.ts +5 -1
- package/dist/ability/line/LineTextWorker.d.ts +7 -0
- package/dist/ability/line/handler/CurveLayoutHandler.d.ts +2 -0
- package/dist/ability/quickCreate/QuickCreateWorker.d.ts +22 -0
- package/dist/ability/resize/WindowResizeWorker.d.ts +6 -0
- package/dist/ability/slide/SlideCoverInfo.d.ts +6 -0
- package/dist/ability/slide/SlidePlayWorker.d.ts +6 -0
- package/dist/ability/svg/CreateSvgWorker.d.ts +3 -2
- package/dist/ability/svg/GenSvgBitmapWorker.d.ts +2 -1
- package/dist/ability/text/CacheOfflineCanvas.d.ts +8 -0
- package/dist/ability/text/TextUtils.d.ts +8 -0
- package/dist/ability/textInput/TextDeleteInputWorker.d.ts +37 -0
- package/dist/ability/textInput/TextInputWorker.d.ts +72 -0
- package/dist/ability/textInput/TextLineBreakWorker.d.ts +12 -0
- package/dist/ability/textInput/TextParagraphStyleWorker.d.ts +8 -0
- package/dist/ability/textInput/textFont/AbsTextFontWorker.d.ts +13 -0
- package/dist/ability/textInput/textFont/TextFontBgColorWorker.d.ts +6 -0
- package/dist/ability/textInput/textFont/TextFontBoldWorker.d.ts +6 -0
- package/dist/ability/textInput/textFont/TextFontColorWorker.d.ts +6 -0
- package/dist/ability/textInput/textFont/TextFontItalicWorker.d.ts +6 -0
- package/dist/ability/textInput/textFont/TextFontSizeWorker.d.ts +14 -0
- package/dist/ability/textInput/textFont/TextFontStrikethroughWorker.d.ts +6 -0
- package/dist/ability/textInput/textFont/TextUnderLineWorker.d.ts +6 -0
- package/dist/ability/textInput/textParagraphPrefix/TextNormalWorker.d.ts +14 -0
- package/dist/ability/textInput/textParagraphPrefix/TextOrderWorker.d.ts +15 -0
- package/dist/ability/textInput/textParagraphPrefix/TextParaPrefixWorker.d.ts +8 -0
- package/dist/ability/textInput/textParagraphPrefix/TextQuoteWorker.d.ts +15 -0
- package/dist/ability/textInput/textParagraphPrefix/TextUnOrderWorker.d.ts +15 -0
- package/dist/action/ActionManager.d.ts +2 -1
- package/dist/action/executor/ExecutorContext.d.ts +4 -0
- package/dist/action/executor/ExecutorManager.d.ts +7 -2
- package/dist/action/executor/beforeInterceptor/AbsInterceptor.d.ts +6 -0
- package/dist/action/executor/beforeInterceptor/slide/SlideCoverInsertInterceptor.d.ts +9 -0
- package/dist/action/executor/beforeInterceptor/slide/SlideCoverUpdateInterceptor.d.ts +13 -0
- package/dist/action/render/RenderManager.d.ts +15 -9
- package/dist/action/render/export/ExportWorker.d.ts +2 -0
- package/dist/action/render/zoom/ZoomWorker.d.ts +8 -7
- package/dist/app/AppEventContext.d.ts +20 -3
- package/dist/app/OolongApp.d.ts +4 -0
- package/dist/app/ai-api/OolongAIAPI.d.ts +11 -0
- package/dist/app/ai-api/module/AINodeAPI.d.ts +380 -0
- package/dist/app/ai-api/module/AIViewportAPI.d.ts +59 -0
- package/dist/app/ai-api/module/SelectAPI.d.ts +51 -0
- package/dist/app/api/OolongAPI.d.ts +22 -1
- package/dist/app/api/module/{createAPI.d.ts → CreateAPI.d.ts} +16 -0
- package/dist/app/api/module/SwitchAPI.d.ts +10 -0
- package/dist/app/api/module/align/AlignAPI.d.ts +19 -0
- package/dist/app/api/module/propChange/PropChangeAPI.d.ts +5 -0
- package/dist/app/api/module/propChange/fontsize/AbsFontSizeChangeHandler.d.ts +6 -0
- package/dist/app/api/module/propChange/fontsize/CheckboxTextFontSizeChangeHandler.d.ts +7 -0
- package/dist/app/api/module/propChange/fontsize/NormalFontSizeChangeHandler.d.ts +7 -0
- package/dist/app/api/module/slide/SlideAPI.d.ts +25 -0
- package/dist/app/api/module/text/TextAPI.d.ts +38 -0
- package/dist/app/docModeManager/DocModeManager.d.ts +12 -0
- package/dist/app/docModeManager/DocModeSwitchContext.d.ts +4 -0
- package/dist/app/docModeManager/switchHandler/AbsSwitchHandler.d.ts +5 -0
- package/dist/app/docModeManager/switchHandler/board/BoardToSlideEditHandler.d.ts +8 -0
- package/dist/app/docModeManager/switchHandler/board/BoardToSlidePlayHandler.d.ts +6 -0
- package/dist/app/docModeManager/switchHandler/slide-edit/SlideEditToBoardHandler.d.ts +6 -0
- package/dist/app/docModeManager/switchHandler/slide-edit/SlideEditToSlidePlayHandler.d.ts +5 -0
- package/dist/app/docModeManager/switchHandler/slide-play/SlidePlayToBoardHandler.d.ts +6 -0
- package/dist/app/docModeManager/switchHandler/slide-play/SlidePlayToSlideEditHandler.d.ts +5 -0
- package/dist/app/docState/DocMode.d.ts +5 -0
- package/dist/app/docState/DocState.d.ts +11 -0
- package/dist/app/docState/SlideStatus.d.ts +7 -0
- package/dist/app/index.d.ts +2 -0
- package/dist/application/GMLRender.d.ts +2 -1
- package/dist/application/nodeManager/NodeManager.d.ts +1 -0
- package/dist/asyncRender/AsyncRenderNodeManager.d.ts +3 -4
- package/dist/auxiliary/AuxiliaryManager.d.ts +2 -1
- package/dist/auxiliary/AuxiliaryStyleConst.d.ts +1 -0
- package/dist/auxiliary/graphics/AuxiliaryType.d.ts +13 -1
- package/dist/auxiliary/graphics/group/SelectGroup.d.ts +1 -0
- package/dist/auxiliary/graphics/hover/HoverFocusCopy.d.ts +10 -0
- package/dist/auxiliary/graphics/hover/HoverInsertHorizonSlide.d.ts +11 -0
- package/dist/auxiliary/graphics/hover/HoverInsertSlide.d.ts +11 -0
- package/dist/auxiliary/graphics/hover/HoverSlideGapInsertPoint.d.ts +12 -0
- package/dist/auxiliary/graphics/hover/HoverSlidePlaceHolder.d.ts +10 -0
- package/dist/auxiliary/graphics/select/SelectCurveControlPoint.d.ts +15 -0
- package/dist/auxiliary/graphics/select/SelectCurveEnd.d.ts +15 -0
- package/dist/auxiliary/graphics/select/SelectLineTextRect.d.ts +2 -0
- package/dist/auxiliary/graphics/select/SelectParentGroupBound.d.ts +10 -0
- package/dist/auxiliary/graphics/select/SelectSlideGapInsertPoint.d.ts +10 -0
- package/dist/common/detect/DetectorEnum.d.ts +5 -1
- package/dist/common/paste/PasteData.d.ts +2 -0
- package/dist/config/ShapeCategoryType.d.ts +3 -1
- package/dist/config/defaultBorderConfig.d.ts +2 -0
- package/dist/config/defaultColorConfig.d.ts +2 -0
- package/dist/cursor/CursorManager.d.ts +19 -2
- package/dist/cursor/CursorStyle.d.ts +0 -1
- package/dist/engine.js +21041 -16095
- package/dist/engine.umd.cjs +34 -31
- package/dist/graphics/OolongNode.d.ts +7 -2
- package/dist/graphics/OolongSVGNode.d.ts +2 -0
- package/dist/graphics/OolongSection.d.ts +1 -0
- package/dist/graphics/OolongSlideContainer.d.ts +17 -0
- package/dist/graphics/base/NodeConnectEndType.d.ts +2 -1
- package/dist/graphics/base/ShapeType.d.ts +9 -9
- package/dist/graphics/drawer/AbsDrawer.d.ts +5 -1
- package/dist/graphics/drawer/CloudDrawer.d.ts +10 -0
- package/dist/graphics/drawer/CrossDrawer.d.ts +13 -0
- package/dist/graphics/drawer/EllipseDrawer.d.ts +2 -2
- package/dist/graphics/drawer/HexagonDrawer.d.ts +12 -0
- package/dist/graphics/drawer/LingxingDrawer.d.ts +3 -2
- package/dist/graphics/drawer/OctagonDrawer.d.ts +13 -0
- package/dist/graphics/drawer/ParallelogramDrawer.d.ts +12 -0
- package/dist/graphics/drawer/PentagonDrawer.d.ts +13 -0
- package/dist/graphics/drawer/PureTextDrawer.d.ts +2 -0
- package/dist/graphics/drawer/RoundRectDrawer.d.ts +2 -2
- package/dist/graphics/drawer/StarDrawer.d.ts +13 -0
- package/dist/graphics/drawer/TrapezoidDrawer.d.ts +12 -0
- package/dist/graphics/drawer/Triangle2Drawer.d.ts +6 -0
- package/dist/graphics/drawer/TriangleDrawer.d.ts +2 -1
- package/dist/graphics/index.d.ts +5 -0
- package/dist/graphics/line/OolongLine.d.ts +9 -3
- package/dist/graphics/line/arrow/CircleArrowDrawer.d.ts +5 -0
- package/dist/graphics/line/arrow/EmptyCircleArrowDrawer.d.ts +5 -0
- package/dist/graphics/node/GraphicNode.d.ts +2 -0
- package/dist/graphics/props/BaseProps.d.ts +1 -1
- package/dist/graphics/props/LineTextRectProps.d.ts +4 -1
- package/dist/graphics/props/PropType.d.ts +6 -1
- package/dist/graphics/props/SlideProps.d.ts +12 -0
- package/dist/graphics/props/SvgProps.d.ts +2 -0
- package/dist/graphics/props/TextParagraphProps.d.ts +11 -0
- package/dist/graphics/props/TextParagraphQuoteProps.d.ts +11 -0
- package/dist/graphics/props/TextProps.d.ts +5 -3
- package/dist/graphics/props/widget/CheckSizeProps.d.ts +11 -0
- package/dist/graphics/props/widget/CheckStatusProps.d.ts +11 -0
- package/dist/graphics/utils/GraphicUtils.d.ts +70 -3
- package/dist/graphics/widget/OolongWidget.d.ts +10 -0
- package/dist/graphics/widget/checkbox/OolongCheckbox.d.ts +16 -0
- package/dist/graphics/widget/checkbox/OolongCheckboxText.d.ts +22 -0
- package/dist/idl/NodeType.d.ts +3 -0
- package/dist/idl/capInfo/ICapInfo.d.ts +10 -0
- package/dist/idl/capInfo/ICheckSizeProps.d.ts +3 -0
- package/dist/idl/capInfo/ICheckStatusProps.d.ts +3 -0
- package/dist/idl/capInfo/ILineTextRectProps.d.ts +4 -1
- package/dist/idl/capInfo/ISlideProps.d.ts +4 -0
- package/dist/idl/capInfo/ISlideRow.d.ts +3 -0
- package/dist/idl/capInfo/ISvgProps.d.ts +2 -0
- package/dist/idl/capInfo/ITextParagraphProps.d.ts +8 -0
- package/dist/idl/capInfo/ITextParagraphQuoteProps.d.ts +7 -0
- package/dist/idl/capInfo/ITextProps.d.ts +1 -0
- package/dist/idl/capInfo/TransitionEnum.d.ts +3 -0
- package/dist/idl/common/LineArrowType.d.ts +3 -1
- package/dist/idl/common/RotateType.d.ts +6 -0
- package/dist/index.d.ts +2 -0
- package/dist/input/index.d.ts +2 -0
- package/dist/plugin-copy-paste/copy-paste/copy/CopyTextHandler.d.ts +38 -0
- package/dist/plugin-copy-paste/copy-paste/paste/oolongData/IOolongDataHandler.d.ts +4 -3
- package/dist/plugin-copy-paste/copy-paste/paste/oolongData/pasteNode/PasteNodeHandler.d.ts +8 -3
- package/dist/plugin-copy-paste/copy-paste/paste/oolongData/pasteNode/posHandler/AbsPastePosHandler.d.ts +8 -0
- package/dist/plugin-copy-paste/copy-paste/paste/oolongData/pasteNode/posHandler/EmptyPlacePosHandler.d.ts +9 -0
- package/dist/plugin-copy-paste/copy-paste/paste/oolongData/pasteNode/posHandler/NormalPastePosHandler.d.ts +9 -0
- package/dist/plugin-copy-paste/copy-paste/paste/oolongData/pasteNode/posHandler/PosPasteType.d.ts +4 -0
- package/dist/plugin-copy-paste/copy-paste/utils/CopyPasteUtils.d.ts +5 -0
- package/dist/plugin-copy-paste/index.d.ts +4 -0
- package/dist/plugin-hotkey/hotkey/common/ShiftKey.d.ts +8 -0
- package/dist/plugin-hotkey/hotkey/config/KeyCodeConfig.d.ts +2 -0
- package/dist/plugin-hotkey/hotkey/normal/EnterHotKey.d.ts +8 -0
- package/dist/plugin-hotkey/hotkey/normal/move/ArrowDownKey.d.ts +14 -0
- package/dist/plugin-hotkey/hotkey/normal/move/ArrowLeftKey.d.ts +14 -0
- package/dist/plugin-hotkey/hotkey/normal/move/ArrowMoveWorker.d.ts +23 -0
- package/dist/plugin-hotkey/hotkey/normal/move/ArrowRightKey.d.ts +14 -0
- package/dist/plugin-hotkey/hotkey/normal/move/ArrowUpKey.d.ts +14 -0
- package/dist/plugin-hotkey/hotkey/text/AbsArrowKey.d.ts +1 -1
- package/dist/plugin-hotkey/hotkey/text/ArrowRightKey.d.ts +3 -2
- package/dist/plugin-hotkey/hotkey/text/EnterHotKey.d.ts +7 -3
- package/dist/plugin-hotkey/hotkey/text/EscKey.d.ts +7 -0
- package/dist/plugin-hotkey/hotkey/text/TabKey.d.ts +7 -0
- package/dist/plugin-input/InputEventPlugin.d.ts +2 -2
- package/dist/plugin-input/common/ICompositionRecord.d.ts +1 -1
- package/dist/plugin-input/handler/AbsInputHandler.d.ts +2 -0
- package/dist/plugin-input/handler/InputCompositionHandler.d.ts +1 -1
- package/dist/plugin-input/handler/InputNormalHandler.d.ts +1 -1
- package/dist/plugin-pointer/PointerEventPlugin.d.ts +5 -0
- package/dist/plugin-pointer/interact/InteractiveManager.d.ts +1 -1
- package/dist/plugin-pointer/interact/InteractiveUtils.d.ts +21 -4
- package/dist/plugin-pointer/interact/align/AlignWorker.d.ts +3 -3
- package/dist/plugin-pointer/interact/align/common/AlignHorizonHandler.d.ts +1 -0
- package/dist/plugin-pointer/interact/align/common/AlignVerticalHandler.d.ts +1 -0
- package/dist/plugin-pointer/interact/basic/constants.d.ts +2 -0
- package/dist/plugin-pointer/interact/config/InteractConfig.d.ts +3 -1
- package/dist/plugin-pointer/interact/default/click/handler/AnchorQuickCreateHandler.d.ts +21 -0
- package/dist/plugin-pointer/interact/default/click/handler/ClickInsertEmptySlideHandler.d.ts +7 -0
- package/dist/plugin-pointer/interact/default/click/handler/ClickInsertSlideHandler.d.ts +11 -0
- package/dist/plugin-pointer/interact/default/click/handler/ClickTextHandler.d.ts +2 -1
- package/dist/plugin-pointer/interact/default/click/handler/widget/CheckboxHandler.d.ts +11 -0
- package/dist/plugin-pointer/interact/default/connectAnchor/ConnectAnchorProcessor.d.ts +2 -2
- package/dist/plugin-pointer/interact/default/create/CreateColorConfig.d.ts +0 -2
- package/dist/plugin-pointer/interact/default/create/CreateLineMainMode.d.ts +7 -0
- package/dist/plugin-pointer/interact/default/create/CreateTextMode.d.ts +1 -1
- package/dist/plugin-pointer/interact/default/create/RectCreateDragProcessor.d.ts +1 -0
- package/dist/plugin-pointer/interact/default/create/base/AbsCreateDragProcessor.d.ts +1 -0
- package/dist/plugin-pointer/interact/default/create/line/handler/AbsLineCreateHandler.d.ts +2 -2
- package/dist/plugin-pointer/interact/default/create/normal/CreateNormalMode.d.ts +2 -1
- package/dist/plugin-pointer/interact/default/create/normal/grab/handler/AbsCreateUpHandler.d.ts +1 -1
- package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpCheckboxHandler.d.ts +11 -0
- package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpCheckboxTextHandler.d.ts +11 -0
- package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpLineHandler.d.ts +11 -0
- package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpSectionHandler.d.ts +0 -2
- package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpShapeHandler.d.ts +0 -2
- package/dist/plugin-pointer/interact/default/create/normal/grab/handler/CreateUpSlideHandler.d.ts +11 -0
- package/dist/plugin-pointer/interact/default/create/normal/hover/CreateHoverNodeProcessor.d.ts +2 -2
- package/dist/plugin-pointer/interact/default/create/normal/hover/CreateLineMoveProcessor.d.ts +3 -3
- package/dist/plugin-pointer/interact/default/curveControlPoint/BezierCurve.d.ts +42 -0
- package/dist/plugin-pointer/interact/default/curveControlPoint/BezierWorker.d.ts +34 -0
- package/dist/plugin-pointer/interact/default/curveControlPoint/CurveControlPointMode.d.ts +7 -0
- package/dist/plugin-pointer/interact/default/curveControlPoint/CurveControlPointProcessor.d.ts +20 -0
- package/dist/plugin-pointer/interact/default/curveControlPoint/utils.d.ts +5 -0
- package/dist/plugin-pointer/interact/default/curveEndPoint/CurveEndPointMode.d.ts +7 -0
- package/dist/plugin-pointer/interact/default/curveEndPoint/CurveEndProcessor.d.ts +16 -0
- package/dist/plugin-pointer/interact/default/dbClick/handler/DBClickTextHandler.d.ts +2 -1
- package/dist/plugin-pointer/interact/default/dbClick/handler/DbCheckboxHandler.d.ts +11 -0
- package/dist/plugin-pointer/interact/default/drag/DragProcessor.d.ts +2 -0
- package/dist/plugin-pointer/interact/default/dragLineText/DragLineTextMode.d.ts +7 -0
- package/dist/plugin-pointer/interact/default/dragLineText/DragLineTextProcessor.d.ts +15 -0
- package/dist/plugin-pointer/interact/default/dragLineText/handler/AbsLineIntersectHandler.d.ts +10 -0
- package/dist/plugin-pointer/interact/default/dragLineText/handler/CurveLineIntersectHandler.d.ts +12 -0
- package/dist/plugin-pointer/interact/default/dragLineText/handler/LineShapeIntersectResult.d.ts +5 -0
- package/dist/plugin-pointer/interact/default/dragLineText/handler/PolyLineIntersectHandler.d.ts +18 -0
- package/dist/plugin-pointer/interact/default/dragLineText/handler/SimpleLineIntersectHandler.d.ts +12 -0
- package/dist/plugin-pointer/interact/default/dragSelectText/DragSelectTextProcessor.d.ts +2 -2
- package/dist/plugin-pointer/interact/default/dragSlide/DragSlideMode.d.ts +7 -0
- package/dist/plugin-pointer/interact/default/dragSlide/DragSlideProcessor.d.ts +55 -0
- package/dist/plugin-pointer/interact/default/group/GroupMode.d.ts +1 -1
- package/dist/plugin-pointer/interact/default/group/GroupProcessor.d.ts +2 -0
- package/dist/plugin-pointer/interact/default/group/handler/AbsGroupHandler.d.ts +8 -0
- package/dist/plugin-pointer/interact/default/group/handler/CmdGroupHandler.d.ts +9 -0
- package/dist/plugin-pointer/interact/default/group/handler/NormalGroupHandler.d.ts +9 -0
- package/dist/plugin-pointer/interact/default/lineControlPoint/LineControlPointProcessor.d.ts +2 -0
- package/dist/plugin-pointer/interact/default/lineEnd/DragLineEndProcessor.d.ts +6 -2
- package/dist/plugin-pointer/interact/default/lineEnd/handler/DragCurveLineEndHandler.d.ts +14 -0
- package/dist/plugin-pointer/interact/default/normal/cursor/handler/CurveControlPointCursorHandler.d.ts +9 -0
- package/dist/plugin-pointer/interact/default/normal/cursor/handler/CurveEndPointCursorHandler.d.ts +9 -0
- package/dist/plugin-pointer/interact/default/normal/cursor/handler/HoverSlideCursorHandler.d.ts +7 -0
- package/dist/plugin-pointer/interact/default/normal/cursor/handler/LineTextCursorHandler.d.ts +9 -0
- package/dist/plugin-pointer/interact/default/normal/cursor/handler/NormalCursorHandler.d.ts +2 -2
- package/dist/plugin-pointer/interact/default/normal/cursor/handler/RotateCursorHandler.d.ts +2 -2
- package/dist/plugin-pointer/interact/default/normal/cursor/handler/SlideGapInsertHandler.d.ts +7 -0
- package/dist/plugin-pointer/interact/default/normal/cursor/handler/StretchCursorHandler.d.ts +2 -2
- package/dist/plugin-pointer/interact/default/rotate/RotateMode.d.ts +2 -2
- package/dist/plugin-pointer/interact/default/stretch/AbsStretchProcessor.d.ts +4 -0
- package/dist/plugin-pointer/interact/default/stretch/SingleStretchMode.d.ts +4 -4
- package/dist/plugin-pointer/interact/default/stretch/SingleStretchProcessorV2.d.ts +5 -3
- package/dist/plugin-pointer/interact/default/stretch/StretchMode.d.ts +2 -2
- package/dist/plugin-pointer/interact/default/stretch/StretchProcessorV2.d.ts +4 -1
- package/dist/plugin-pointer/interact/default/stretch/handler/AbsStretchHandler.d.ts +2 -1
- package/dist/plugin-pointer/interact/default/stretch/handler/CheckboxTextStretchHandler.d.ts +10 -0
- package/dist/plugin-pointer/interact/default/stretch/handler/SingleStretchSectionHandler.d.ts +11 -0
- package/dist/plugin-pointer/interact/default/stretch/handler/{SingleStretchNodeHandler.d.ts → StretchSlideContainerHandler.d.ts} +1 -1
- package/dist/plugin-pointer/interact/default/stretch/handler/TextStretchHandler.d.ts +10 -0
- package/dist/plugin-pointer/interact/detector/DetectorResult.d.ts +10 -0
- package/dist/plugin-pointer/interact/detector/RotateDetector.d.ts +3 -0
- package/dist/plugin-pointer/interact/detector/dragText/DragLineTextDetector.d.ts +9 -0
- package/dist/plugin-pointer/interact/detector/line/CurveControlPointDetector.d.ts +16 -0
- package/dist/plugin-pointer/interact/detector/line/CurveEndPointDetector.d.ts +10 -0
- package/dist/plugin-pointer/interact/detector/slide/EmptySlideContainerAddDetector.d.ts +12 -0
- package/dist/plugin-pointer/interact/detector/slide/SlideGapDetector.d.ts +15 -0
- package/dist/plugin-pointer/interact/detector/stretch/StretchDetector.d.ts +1 -0
- package/dist/plugin-pointer/interact/playSlide/PlayNormalMode.d.ts +8 -0
- package/dist/plugin-pointer/interact/playSlide/PlaySlideMode.d.ts +7 -0
- package/dist/plugin-pointer/interact/utils/RectUtils.d.ts +1 -1
- package/dist/plugin-pointer/interact/viewOnly/normal/ViewOnlyHoverProcessor.d.ts +9 -0
- package/dist/plugin-pointer/mobile/TouchScrollZoomWorker.d.ts +37 -0
- package/dist/plugin-resize/WindowResizePlugin.d.ts +0 -3
- package/dist/plugin-wheel/WheelEventPlugin.d.ts +3 -3
- package/dist/preview/IPreviewConnectInfo.d.ts +6 -0
- package/dist/preview/PreviewQuickCreateManager.d.ts +2 -0
- package/dist/preview/previewCreate/handler/AbsPreviewHandler.d.ts +3 -1
- package/dist/preview/previewCreate/handler/PreviewCheckboxHandler.d.ts +7 -0
- package/dist/preview/previewCreate/handler/PreviewCheckboxTextHandler.d.ts +7 -0
- package/dist/preview/previewCreate/handler/PreviewSectionHandler.d.ts +0 -3
- package/dist/preview/previewCreate/handler/PreviewShapeHandler.d.ts +0 -3
- package/dist/preview/previewCreate/handler/PreviewSlideHandler.d.ts +7 -0
- package/dist/preview/previewCreate/handler/previewLine/PreviewLineHandler.d.ts +12 -0
- package/dist/preview/previewCreate/handler/previewLine/helper/AbsLineHelper.d.ts +6 -0
- package/dist/preview/previewCreate/handler/previewLine/helper/CurveLineHelper.d.ts +5 -0
- package/dist/preview/previewCreate/handler/previewLine/helper/PolyLineHelper.d.ts +5 -0
- package/dist/preview/previewCreate/handler/previewLine/helper/RoundPolyLineHelper.d.ts +5 -0
- package/dist/preview/previewCreate/handler/previewLine/helper/SimpleLineHelper.d.ts +7 -0
- package/dist/renderText/RenderText.d.ts +42 -11
- package/dist/renderText/TextBlock.d.ts +54 -0
- package/dist/renderText/TextConstants.d.ts +3 -0
- package/dist/renderText/TextLine.d.ts +25 -11
- package/dist/renderText/TextParagraph.d.ts +12 -3
- package/dist/renderText/TypesettingCtx.d.ts +6 -0
- package/dist/renderText/editInfo/EditTextWorker.d.ts +7 -1
- package/dist/renderText/editInfo/baseprops/OolongLineModifyWorker.d.ts +6 -0
- package/dist/renderText/editInfo/baseprops/OolongNodeModifyWorker.d.ts +10 -0
- package/dist/renderText/linebreak/CharacterLineBreakWorker.d.ts +6 -0
- package/dist/renderText/measure/TextBlockMeasureWorker.d.ts +5 -0
- package/dist/renderText/paraStyle/IParagraphStyleProp.d.ts +9 -0
- package/dist/renderText/paraStyle/ITextQuoteInfo.d.ts +8 -0
- package/dist/renderText/paraStyle/PrefixDrawer.d.ts +28 -0
- package/dist/renderText/paraStyle/TextQuoteLineWorker.d.ts +14 -0
- package/dist/renderText/richText/ITextBlock.d.ts +30 -0
- package/dist/renderText/richText/RichTextHelper.d.ts +31 -0
- package/dist/renderText/richText/RichTextParagraph.d.ts +5 -0
- package/dist/renderText/richText/RichTextWord.d.ts +4 -0
- package/dist/renderText/selection/TextSelectionDeleteWorker.d.ts +2 -2
- package/dist/renderText/split/GraphemeSplit.d.ts +1 -0
- package/dist/renderText/split/IntlSplit.d.ts +1 -0
- package/dist/renderText/split/LinebreakSplit.d.ts +9 -0
- package/dist/resource-manager/AbsResourceInstance.d.ts +2 -1
- package/dist/resource-manager/IResourceInfo.d.ts +3 -0
- package/dist/resource-manager/NormalResourceInstance.d.ts +2 -1
- package/dist/resource-manager/ResourceEnumType.d.ts +4 -0
- package/dist/resource-manager/ResourceManager.d.ts +7 -2
- package/dist/resource-manager/index.d.ts +1 -0
- package/dist/select/SelectManager.d.ts +3 -1
- package/dist/select/status/SelectStatusContext.d.ts +2 -0
- package/dist/select/status/readOnly/ReadOnlyMultiStatusHandler.d.ts +8 -0
- package/dist/select/status/readOnly/ReadOnlySingleStatusHandler.d.ts +11 -0
- package/dist/select/status/single/SingleCurveStatusHandler.d.ts +7 -0
- package/dist/select/status/single/SingleSlideContainerStatusHandler.d.ts +7 -0
- package/dist/select/status/single/SingleSlideEditStatusHandler.d.ts +8 -0
- package/dist/select/status/single/SingleSlideStatusHandler.d.ts +7 -0
- package/dist/slide/SlideCoverManager.d.ts +13 -0
- package/dist/slide/SlideManager.d.ts +47 -0
- package/dist/slot/SlotKeyType.d.ts +4 -1
- package/dist/tool/ToolEnum.d.ts +3 -1
- package/dist/tool/WidgetEnum.d.ts +4 -0
- package/dist/tool/index.d.ts +1 -0
- package/dist/utils/MobileUtils.d.ts +6 -0
- package/package.json +5 -33
package/README.md
CHANGED
|
@@ -1,5 +1,153 @@
|
|
|
1
|
-
#
|
|
1
|
+
# Oolong Engine
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
<div align="center">
|
|
4
|
+
|
|
5
|
+
**颠覆传统的新型文档引擎 · Oolong Document**
|
|
6
|
+
|
|
7
|
+
[](https://github.com/jasonnee250/oolong)
|
|
8
|
+
[](https://nodejs.org)
|
|
9
|
+
[](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,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
|
}
|
package/dist/ability/index.d.ts
CHANGED
|
@@ -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
|
-
|
|
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
|
}
|
|
@@ -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;
|
|
@@ -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
|
+
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,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
|
+
}
|