js-draw 0.17.3 → 0.18.0
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/.github/workflows/firebase-hosting-merge.yml +2 -0
- package/.github/workflows/firebase-hosting-pull-request.yml +2 -0
- package/.github/workflows/github-pages.yml +2 -0
- package/CHANGELOG.md +10 -1
- package/README.md +17 -8
- package/build_tools/postDist.ts +71 -0
- package/dist/bundle.js +9 -1
- package/dist/cjs/build_tools/BundledFile.js +163 -0
- package/dist/cjs/build_tools/buildTranslationTemplate.js +119 -0
- package/dist/cjs/build_tools/bundle.js +10 -0
- package/dist/cjs/build_tools/postDist.js +72 -0
- package/dist/{src → cjs/src}/Color4.d.ts +1 -0
- package/dist/cjs/src/Color4.js +197 -0
- package/dist/{src → cjs/src}/Editor.d.ts +57 -1
- package/dist/cjs/src/Editor.js +904 -0
- package/dist/{src → cjs/src}/EditorImage.d.ts +4 -2
- package/dist/cjs/src/EditorImage.js +486 -0
- package/dist/cjs/src/EventDispatcher.js +57 -0
- package/dist/cjs/src/Pointer.js +84 -0
- package/dist/{src → cjs/src}/SVGLoader.d.ts +4 -0
- package/dist/cjs/src/SVGLoader.js +472 -0
- package/dist/cjs/src/UndoRedoHistory.js +93 -0
- package/dist/cjs/src/Viewport.js +264 -0
- package/dist/cjs/src/bundle/bundled.js +24 -0
- package/dist/cjs/src/commands/Command.js +34 -0
- package/dist/cjs/src/commands/Duplicate.js +39 -0
- package/dist/cjs/src/commands/Erase.js +63 -0
- package/dist/cjs/src/commands/SerializableCommand.js +42 -0
- package/dist/cjs/src/commands/UnresolvedCommand.js +28 -0
- package/dist/cjs/src/commands/invertCommand.js +49 -0
- package/dist/cjs/src/commands/lib.js +18 -0
- package/dist/cjs/src/commands/localization.js +24 -0
- package/dist/cjs/src/commands/uniteCommands.js +121 -0
- package/dist/cjs/src/components/AbstractComponent.js +258 -0
- package/dist/cjs/src/components/ImageBackground.js +146 -0
- package/dist/cjs/src/components/ImageComponent.js +152 -0
- package/dist/cjs/src/components/RestylableComponent.js +88 -0
- package/dist/cjs/src/components/SVGGlobalAttributesObject.js +65 -0
- package/dist/cjs/src/components/Stroke.js +191 -0
- package/dist/cjs/src/components/TextComponent.js +258 -0
- package/dist/cjs/src/components/UnknownSVGObject.js +50 -0
- package/dist/cjs/src/components/builders/ArrowBuilder.js +117 -0
- package/dist/cjs/src/components/builders/FreehandLineBuilder.js +173 -0
- package/dist/cjs/src/components/builders/LineBuilder.js +89 -0
- package/dist/cjs/src/components/builders/PressureSensitiveFreehandLineBuilder.js +347 -0
- package/dist/cjs/src/components/builders/RectangleBuilder.js +59 -0
- package/dist/cjs/src/components/builders/types.js +2 -0
- package/dist/cjs/src/components/lib.js +43 -0
- package/dist/cjs/src/components/localization.js +13 -0
- package/dist/cjs/src/components/util/StrokeSmoother.js +217 -0
- package/dist/cjs/src/components/util/describeComponentList.js +16 -0
- package/dist/{src → cjs/src}/lib.d.ts +2 -1
- package/dist/cjs/src/lib.js +63 -0
- package/dist/cjs/src/localization.js +13 -0
- package/dist/cjs/src/localizations/de.js +6 -0
- package/dist/cjs/src/localizations/en.js +6 -0
- package/dist/cjs/src/localizations/es.js +20 -0
- package/dist/cjs/src/localizations/getLocalizationTable.js +50 -0
- package/dist/cjs/src/math/LineSegment2.js +131 -0
- package/dist/cjs/src/math/Mat33.js +332 -0
- package/dist/cjs/src/math/Path.js +655 -0
- package/dist/cjs/src/math/Rect2.js +234 -0
- package/dist/cjs/src/math/Triangle.js +22 -0
- package/dist/cjs/src/math/Vec2.js +19 -0
- package/dist/cjs/src/math/Vec3.js +177 -0
- package/dist/cjs/src/math/lib.js +18 -0
- package/dist/cjs/src/math/rounding.js +135 -0
- package/dist/cjs/src/rendering/Display.js +214 -0
- package/dist/cjs/src/rendering/RenderingStyle.js +48 -0
- package/dist/cjs/src/rendering/TextRenderingStyle.js +29 -0
- package/dist/cjs/src/rendering/caching/CacheRecord.js +61 -0
- package/dist/cjs/src/rendering/caching/CacheRecordManager.js +50 -0
- package/dist/cjs/src/rendering/caching/RenderingCache.js +51 -0
- package/dist/cjs/src/rendering/caching/RenderingCacheNode.js +326 -0
- package/dist/cjs/src/rendering/caching/testUtils.js +27 -0
- package/dist/cjs/src/rendering/caching/types.js +2 -0
- package/dist/{src → cjs/src}/rendering/lib.d.ts +2 -0
- package/dist/cjs/src/rendering/lib.js +16 -0
- package/dist/cjs/src/rendering/localization.js +12 -0
- package/dist/cjs/src/rendering/renderers/AbstractRenderer.js +170 -0
- package/dist/{src → cjs/src}/rendering/renderers/CanvasRenderer.d.ts +25 -0
- package/dist/cjs/src/rendering/renderers/CanvasRenderer.js +236 -0
- package/dist/cjs/src/rendering/renderers/DummyRenderer.js +112 -0
- package/dist/{src → cjs/src}/rendering/renderers/SVGRenderer.d.ts +15 -0
- package/dist/cjs/src/rendering/renderers/SVGRenderer.js +311 -0
- package/dist/cjs/src/rendering/renderers/TextOnlyRenderer.js +63 -0
- package/dist/cjs/src/testing/beforeEachFile.js +12 -0
- package/dist/cjs/src/testing/createEditor.js +14 -0
- package/dist/cjs/src/testing/lib.d.ts +2 -0
- package/dist/cjs/src/testing/lib.js +10 -0
- package/dist/cjs/src/testing/loadExpectExtensions.js +28 -0
- package/dist/cjs/src/testing/sendPenEvent.d.ts +12 -0
- package/dist/cjs/src/testing/sendPenEvent.js +24 -0
- package/dist/cjs/src/testing/sendTouchEvent.d.ts +42 -0
- package/dist/cjs/src/testing/sendTouchEvent.js +87 -0
- package/dist/cjs/src/toolbar/HTMLToolbar.js +383 -0
- package/dist/cjs/src/toolbar/IconProvider.js +660 -0
- package/dist/cjs/src/toolbar/lib.js +24 -0
- package/dist/cjs/src/toolbar/localization.js +51 -0
- package/dist/cjs/src/toolbar/makeColorInput.js +120 -0
- package/dist/cjs/src/toolbar/types.js +2 -0
- package/dist/cjs/src/toolbar/widgets/ActionButtonWidget.js +31 -0
- package/dist/cjs/src/toolbar/widgets/BaseToolWidget.js +50 -0
- package/dist/cjs/src/toolbar/widgets/BaseWidget.js +313 -0
- package/dist/cjs/src/toolbar/widgets/DocumentPropertiesWidget.js +126 -0
- package/dist/cjs/src/toolbar/widgets/EraserToolWidget.js +63 -0
- package/dist/cjs/src/toolbar/widgets/HandToolWidget.js +201 -0
- package/dist/cjs/src/toolbar/widgets/InsertImageWidget.js +176 -0
- package/dist/cjs/src/toolbar/widgets/OverflowWidget.js +77 -0
- package/dist/cjs/src/toolbar/widgets/PenToolWidget.js +226 -0
- package/dist/cjs/src/toolbar/widgets/SelectionToolWidget.js +153 -0
- package/dist/cjs/src/toolbar/widgets/TextToolWidget.js +115 -0
- package/dist/cjs/src/toolbar/widgets/lib.js +26 -0
- package/dist/cjs/src/tools/BaseTool.js +66 -0
- package/dist/cjs/src/tools/Eraser.js +112 -0
- package/dist/cjs/src/tools/FindTool.js +121 -0
- package/dist/cjs/src/tools/PanZoom.js +421 -0
- package/dist/cjs/src/tools/PasteHandler.js +99 -0
- package/dist/cjs/src/tools/Pen.js +179 -0
- package/dist/cjs/src/tools/PipetteTool.js +45 -0
- package/dist/cjs/src/tools/SelectionTool/SelectAllShortcutHandler.js +28 -0
- package/dist/cjs/src/tools/SelectionTool/Selection.js +488 -0
- package/dist/cjs/src/tools/SelectionTool/SelectionHandle.js +85 -0
- package/dist/cjs/src/tools/SelectionTool/SelectionTool.js +405 -0
- package/dist/cjs/src/tools/SelectionTool/TransformMode.js +107 -0
- package/dist/cjs/src/tools/SelectionTool/types.js +14 -0
- package/dist/cjs/src/tools/TextTool.js +262 -0
- package/dist/cjs/src/tools/ToolController.js +187 -0
- package/dist/cjs/src/tools/ToolEnabledGroup.js +14 -0
- package/dist/cjs/src/tools/ToolSwitcherShortcut.js +38 -0
- package/dist/cjs/src/tools/ToolbarShortcutHandler.js +29 -0
- package/dist/cjs/src/tools/UndoRedoShortcut.js +28 -0
- package/dist/cjs/src/tools/lib.js +36 -0
- package/dist/cjs/src/tools/localization.js +30 -0
- package/dist/cjs/src/types.js +38 -0
- package/dist/cjs/src/util/assertions.js +51 -0
- package/dist/cjs/src/util/fileToBase64.js +15 -0
- package/dist/cjs/src/util/untilNextAnimationFrame.js +9 -0
- package/dist/cjs/src/util/waitForTimeout.js +9 -0
- package/dist/mjs/build_tools/BundledFile.d.ts +13 -0
- package/dist/{build_tools/buildTranslationTemplate.js → mjs/build_tools/buildTranslationTemplate.mjs} +1 -1
- package/dist/{build_tools/bundle.js → mjs/build_tools/bundle.mjs} +1 -1
- package/dist/mjs/build_tools/postDist.d.ts +1 -0
- package/dist/mjs/build_tools/postDist.mjs +67 -0
- package/dist/mjs/src/Color4.d.ts +61 -0
- package/dist/{src/Color4.js → mjs/src/Color4.mjs} +1 -0
- package/dist/mjs/src/Editor.d.ts +308 -0
- package/dist/{src/Editor.js → mjs/src/Editor.mjs} +86 -49
- package/dist/mjs/src/EditorImage.d.ts +97 -0
- package/dist/{src/EditorImage.js → mjs/src/EditorImage.mjs} +12 -10
- package/dist/mjs/src/EventDispatcher.d.ts +30 -0
- package/dist/mjs/src/Pointer.d.ts +24 -0
- package/dist/{src/Pointer.js → mjs/src/Pointer.mjs} +1 -1
- package/dist/mjs/src/SVGLoader.d.ts +48 -0
- package/dist/{src/SVGLoader.js → mjs/src/SVGLoader.mjs} +15 -11
- package/dist/mjs/src/UndoRedoHistory.d.ts +19 -0
- package/dist/{src/UndoRedoHistory.js → mjs/src/UndoRedoHistory.mjs} +1 -1
- package/dist/mjs/src/Viewport.d.ts +71 -0
- package/dist/{src/Viewport.js → mjs/src/Viewport.mjs} +5 -5
- package/dist/mjs/src/bundle/bundled.d.ts +4 -0
- package/dist/{src/bundle/bundled.js → mjs/src/bundle/bundled.mjs} +2 -2
- package/dist/mjs/src/commands/Command.d.ts +16 -0
- package/dist/mjs/src/commands/Duplicate.d.ts +14 -0
- package/dist/{src/commands/Duplicate.js → mjs/src/commands/Duplicate.mjs} +3 -3
- package/dist/mjs/src/commands/Erase.d.ts +14 -0
- package/dist/{src/commands/Erase.js → mjs/src/commands/Erase.mjs} +3 -3
- package/dist/mjs/src/commands/SerializableCommand.d.ts +12 -0
- package/dist/{src/commands/SerializableCommand.js → mjs/src/commands/SerializableCommand.mjs} +1 -1
- package/dist/mjs/src/commands/UnresolvedCommand.d.ts +14 -0
- package/dist/{src/commands/UnresolvedCommand.js → mjs/src/commands/UnresolvedCommand.mjs} +1 -1
- package/dist/mjs/src/commands/invertCommand.d.ts +4 -0
- package/dist/{src/commands/invertCommand.js → mjs/src/commands/invertCommand.mjs} +2 -2
- package/dist/mjs/src/commands/lib.mjs +7 -0
- package/dist/mjs/src/commands/localization.d.ts +23 -0
- package/dist/mjs/src/commands/uniteCommands.d.ts +4 -0
- package/dist/{src/commands/uniteCommands.js → mjs/src/commands/uniteCommands.mjs} +2 -2
- package/dist/mjs/src/components/AbstractComponent.d.ts +73 -0
- package/dist/{src/components/AbstractComponent.js → mjs/src/components/AbstractComponent.mjs} +4 -4
- package/dist/mjs/src/components/ImageBackground.d.ts +42 -0
- package/dist/{src/components/ImageBackground.js → mjs/src/components/ImageBackground.mjs} +5 -5
- package/dist/mjs/src/components/ImageComponent.d.ts +31 -0
- package/dist/{src/components/ImageComponent.js → mjs/src/components/ImageComponent.mjs} +3 -3
- package/dist/mjs/src/components/RestylableComponent.d.ts +24 -0
- package/dist/{src/components/RestylableComponent.js → mjs/src/components/RestylableComponent.mjs} +4 -4
- package/dist/mjs/src/components/SVGGlobalAttributesObject.d.ts +21 -0
- package/dist/{src/components/SVGGlobalAttributesObject.js → mjs/src/components/SVGGlobalAttributesObject.mjs} +3 -3
- package/dist/mjs/src/components/Stroke.d.ts +40 -0
- package/dist/{src/components/Stroke.js → mjs/src/components/Stroke.mjs} +5 -5
- package/dist/mjs/src/components/TextComponent.d.ts +53 -0
- package/dist/{src/components/TextComponent.js → mjs/src/components/TextComponent.mjs} +7 -7
- package/dist/mjs/src/components/UnknownSVGObject.d.ts +18 -0
- package/dist/{src/components/UnknownSVGObject.js → mjs/src/components/UnknownSVGObject.mjs} +3 -3
- package/dist/mjs/src/components/builders/ArrowBuilder.d.ts +19 -0
- package/dist/{src/components/builders/ArrowBuilder.js → mjs/src/components/builders/ArrowBuilder.mjs} +2 -2
- package/dist/mjs/src/components/builders/FreehandLineBuilder.d.ts +33 -0
- package/dist/{src/components/builders/FreehandLineBuilder.js → mjs/src/components/builders/FreehandLineBuilder.mjs} +7 -7
- package/dist/mjs/src/components/builders/LineBuilder.d.ts +18 -0
- package/dist/{src/components/builders/LineBuilder.js → mjs/src/components/builders/LineBuilder.mjs} +2 -2
- package/dist/mjs/src/components/builders/PressureSensitiveFreehandLineBuilder.d.ts +36 -0
- package/dist/{src/components/builders/PressureSensitiveFreehandLineBuilder.js → mjs/src/components/builders/PressureSensitiveFreehandLineBuilder.mjs} +6 -6
- package/dist/mjs/src/components/builders/RectangleBuilder.d.ts +20 -0
- package/dist/{src/components/builders/RectangleBuilder.js → mjs/src/components/builders/RectangleBuilder.mjs} +4 -4
- package/dist/mjs/src/components/builders/types.d.ts +12 -0
- package/dist/mjs/src/components/builders/types.mjs +1 -0
- package/dist/{src/components/lib.js → mjs/src/components/lib.d.ts} +3 -3
- package/dist/mjs/src/components/lib.mjs +12 -0
- package/dist/mjs/src/components/localization.d.ts +11 -0
- package/dist/mjs/src/components/util/StrokeSmoother.d.ts +35 -0
- package/dist/{src/components/util/StrokeSmoother.js → mjs/src/components/util/StrokeSmoother.mjs} +3 -3
- package/dist/mjs/src/components/util/describeComponentList.d.ts +4 -0
- package/dist/{src/lib.js → mjs/src/lib.d.ts} +4 -3
- package/dist/mjs/src/lib.mjs +34 -0
- package/dist/mjs/src/localization.d.ts +14 -0
- package/dist/{src/localization.js → mjs/src/localization.mjs} +5 -5
- package/dist/mjs/src/localizations/de.d.ts +3 -0
- package/dist/{src/localizations/de.js → mjs/src/localizations/de.mjs} +1 -1
- package/dist/mjs/src/localizations/en.d.ts +3 -0
- package/dist/{src/localizations/en.js → mjs/src/localizations/en.mjs} +1 -1
- package/dist/mjs/src/localizations/es.d.ts +3 -0
- package/dist/{src/localizations/es.js → mjs/src/localizations/es.mjs} +1 -1
- package/dist/mjs/src/localizations/getLocalizationTable.d.ts +3 -0
- package/dist/{src/localizations/getLocalizationTable.js → mjs/src/localizations/getLocalizationTable.mjs} +4 -4
- package/dist/mjs/src/math/LineSegment2.d.ts +24 -0
- package/dist/{src/math/LineSegment2.js → mjs/src/math/LineSegment2.mjs} +2 -2
- package/dist/mjs/src/math/Mat33.d.ts +118 -0
- package/dist/{src/math/Mat33.js → mjs/src/math/Mat33.mjs} +2 -2
- package/dist/mjs/src/math/Path.d.ts +71 -0
- package/dist/{src/math/Path.js → mjs/src/math/Path.mjs} +5 -5
- package/dist/mjs/src/math/Rect2.d.ts +52 -0
- package/dist/{src/math/Rect2.js → mjs/src/math/Rect2.mjs} +2 -2
- package/dist/mjs/src/math/Triangle.d.ts +11 -0
- package/dist/mjs/src/math/Vec2.d.ts +13 -0
- package/dist/{src/math/Vec2.js → mjs/src/math/Vec2.mjs} +1 -1
- package/dist/mjs/src/math/Vec3.d.ts +106 -0
- package/dist/mjs/src/math/lib.mjs +7 -0
- package/dist/mjs/src/math/rounding.d.ts +4 -0
- package/dist/mjs/src/rendering/Display.d.ts +75 -0
- package/dist/{src/rendering/Display.js → mjs/src/rendering/Display.mjs} +7 -7
- package/dist/mjs/src/rendering/RenderingStyle.d.ts +31 -0
- package/dist/{src/rendering/RenderingStyle.js → mjs/src/rendering/RenderingStyle.mjs} +1 -1
- package/dist/mjs/src/rendering/TextRenderingStyle.d.ts +36 -0
- package/dist/{src/rendering/TextRenderingStyle.js → mjs/src/rendering/TextRenderingStyle.mjs} +1 -1
- package/dist/mjs/src/rendering/caching/CacheRecord.d.ts +20 -0
- package/dist/{src/rendering/caching/CacheRecord.js → mjs/src/rendering/caching/CacheRecord.mjs} +1 -1
- package/dist/mjs/src/rendering/caching/CacheRecordManager.d.ts +12 -0
- package/dist/{src/rendering/caching/CacheRecordManager.js → mjs/src/rendering/caching/CacheRecordManager.mjs} +1 -1
- package/dist/mjs/src/rendering/caching/RenderingCache.d.ts +11 -0
- package/dist/{src/rendering/caching/RenderingCache.js → mjs/src/rendering/caching/RenderingCache.mjs} +3 -3
- package/dist/mjs/src/rendering/caching/RenderingCacheNode.d.ts +29 -0
- package/dist/{src/rendering/caching/RenderingCacheNode.js → mjs/src/rendering/caching/RenderingCacheNode.mjs} +3 -3
- package/dist/mjs/src/rendering/caching/testUtils.d.ts +9 -0
- package/dist/{src/rendering/caching/testUtils.js → mjs/src/rendering/caching/testUtils.mjs} +4 -4
- package/dist/mjs/src/rendering/caching/types.d.ts +19 -0
- package/dist/mjs/src/rendering/caching/types.mjs +1 -0
- package/dist/{src/rendering/lib.js → mjs/src/rendering/lib.d.ts} +2 -0
- package/dist/mjs/src/rendering/lib.mjs +5 -0
- package/dist/mjs/src/rendering/localization.d.ts +10 -0
- package/dist/mjs/src/rendering/renderers/AbstractRenderer.d.ts +68 -0
- package/dist/{src/rendering/renderers/AbstractRenderer.js → mjs/src/rendering/renderers/AbstractRenderer.mjs} +3 -3
- package/dist/mjs/src/rendering/renderers/CanvasRenderer.d.ts +63 -0
- package/dist/{src/rendering/renderers/CanvasRenderer.js → mjs/src/rendering/renderers/CanvasRenderer.mjs} +32 -5
- package/dist/mjs/src/rendering/renderers/DummyRenderer.d.ts +35 -0
- package/dist/{src/rendering/renderers/DummyRenderer.js → mjs/src/rendering/renderers/DummyRenderer.mjs} +2 -2
- package/dist/mjs/src/rendering/renderers/SVGRenderer.d.ts +57 -0
- package/dist/{src/rendering/renderers/SVGRenderer.js → mjs/src/rendering/renderers/SVGRenderer.mjs} +33 -7
- package/dist/mjs/src/rendering/renderers/TextOnlyRenderer.d.ts +29 -0
- package/dist/{src/rendering/renderers/TextOnlyRenderer.js → mjs/src/rendering/renderers/TextOnlyRenderer.mjs} +2 -2
- package/dist/mjs/src/testing/beforeEachFile.d.ts +1 -0
- package/dist/{src/testing/beforeEachFile.js → mjs/src/testing/beforeEachFile.mjs} +1 -1
- package/dist/mjs/src/testing/createEditor.d.ts +4 -0
- package/dist/{src/testing/createEditor.js → mjs/src/testing/createEditor.mjs} +2 -2
- package/dist/mjs/src/testing/lib.d.ts +2 -0
- package/dist/mjs/src/testing/lib.mjs +2 -0
- package/dist/mjs/src/testing/loadExpectExtensions.d.ts +2 -0
- package/dist/mjs/src/testing/sendPenEvent.d.ts +12 -0
- package/dist/mjs/src/testing/sendPenEvent.mjs +19 -0
- package/dist/mjs/src/testing/sendTouchEvent.d.ts +42 -0
- package/dist/mjs/src/testing/sendTouchEvent.mjs +62 -0
- package/dist/mjs/src/toolbar/HTMLToolbar.d.ts +103 -0
- package/dist/{src/toolbar/HTMLToolbar.js → mjs/src/toolbar/HTMLToolbar.mjs} +17 -17
- package/dist/mjs/src/toolbar/IconProvider.d.ts +62 -0
- package/dist/{src/toolbar/IconProvider.js → mjs/src/toolbar/IconProvider.mjs} +4 -4
- package/dist/mjs/src/toolbar/lib.mjs +3 -0
- package/dist/mjs/src/toolbar/localization.d.ts +49 -0
- package/dist/mjs/src/toolbar/makeColorInput.d.ts +6 -0
- package/dist/{src/toolbar/makeColorInput.js → mjs/src/toolbar/makeColorInput.mjs} +3 -3
- package/dist/mjs/src/toolbar/types.d.ts +4 -0
- package/dist/mjs/src/toolbar/types.mjs +1 -0
- package/dist/mjs/src/toolbar/widgets/ActionButtonWidget.d.ts +15 -0
- package/dist/{src/toolbar/widgets/ActionButtonWidget.js → mjs/src/toolbar/widgets/ActionButtonWidget.mjs} +1 -1
- package/dist/mjs/src/toolbar/widgets/BaseToolWidget.d.ts +11 -0
- package/dist/{src/toolbar/widgets/BaseToolWidget.js → mjs/src/toolbar/widgets/BaseToolWidget.mjs} +2 -2
- package/dist/mjs/src/toolbar/widgets/BaseWidget.d.ts +72 -0
- package/dist/{src/toolbar/widgets/BaseWidget.js → mjs/src/toolbar/widgets/BaseWidget.mjs} +3 -3
- package/dist/mjs/src/toolbar/widgets/DocumentPropertiesWidget.d.ts +18 -0
- package/dist/{src/toolbar/widgets/DocumentPropertiesWidget.js → mjs/src/toolbar/widgets/DocumentPropertiesWidget.mjs} +9 -7
- package/dist/mjs/src/toolbar/widgets/EraserToolWidget.d.ts +17 -0
- package/dist/{src/toolbar/widgets/EraserToolWidget.js → mjs/src/toolbar/widgets/EraserToolWidget.mjs} +3 -3
- package/dist/mjs/src/toolbar/widgets/HandToolWidget.d.ts +17 -0
- package/dist/{src/toolbar/widgets/HandToolWidget.js → mjs/src/toolbar/widgets/HandToolWidget.mjs} +7 -7
- package/dist/mjs/src/toolbar/widgets/InsertImageWidget.d.ts +19 -0
- package/dist/{src/toolbar/widgets/InsertImageWidget.js → mjs/src/toolbar/widgets/InsertImageWidget.mjs} +8 -8
- package/dist/mjs/src/toolbar/widgets/OverflowWidget.d.ts +25 -0
- package/dist/{src/toolbar/widgets/OverflowWidget.js → mjs/src/toolbar/widgets/OverflowWidget.mjs} +1 -1
- package/dist/mjs/src/toolbar/widgets/PenToolWidget.d.ts +27 -0
- package/dist/{src/toolbar/widgets/PenToolWidget.js → mjs/src/toolbar/widgets/PenToolWidget.mjs} +11 -10
- package/dist/mjs/src/toolbar/widgets/SelectionToolWidget.d.ts +13 -0
- package/dist/{src/toolbar/widgets/SelectionToolWidget.js → mjs/src/toolbar/widgets/SelectionToolWidget.mjs} +8 -8
- package/dist/mjs/src/toolbar/widgets/TextToolWidget.d.ts +16 -0
- package/dist/{src/toolbar/widgets/TextToolWidget.js → mjs/src/toolbar/widgets/TextToolWidget.mjs} +9 -6
- package/dist/mjs/src/toolbar/widgets/lib.mjs +10 -0
- package/dist/mjs/src/tools/BaseTool.d.ts +22 -0
- package/dist/{src/tools/BaseTool.js → mjs/src/tools/BaseTool.mjs} +1 -1
- package/dist/mjs/src/tools/Eraser.d.ts +23 -0
- package/dist/{src/tools/Eraser.js → mjs/src/tools/Eraser.mjs} +8 -8
- package/dist/mjs/src/tools/FindTool.d.ts +21 -0
- package/dist/{src/tools/FindTool.js → mjs/src/tools/FindTool.mjs} +2 -2
- package/dist/mjs/src/tools/PanZoom.d.ts +52 -0
- package/dist/{src/tools/PanZoom.js → mjs/src/tools/PanZoom.mjs} +8 -8
- package/dist/mjs/src/tools/PasteHandler.d.ts +23 -0
- package/dist/{src/tools/PasteHandler.js → mjs/src/tools/PasteHandler.mjs} +7 -7
- package/dist/mjs/src/tools/Pen.d.ts +39 -0
- package/dist/{src/tools/Pen.js → mjs/src/tools/Pen.mjs} +5 -5
- package/dist/mjs/src/tools/PipetteTool.d.ts +18 -0
- package/dist/{src/tools/PipetteTool.js → mjs/src/tools/PipetteTool.mjs} +1 -1
- package/dist/mjs/src/tools/SelectionTool/SelectAllShortcutHandler.d.ts +8 -0
- package/dist/{src/tools/SelectionTool/SelectAllShortcutHandler.js → mjs/src/tools/SelectionTool/SelectAllShortcutHandler.mjs} +2 -2
- package/dist/mjs/src/tools/SelectionTool/Selection.d.ts +64 -0
- package/dist/{src/tools/SelectionTool/Selection.js → mjs/src/tools/SelectionTool/Selection.mjs} +12 -12
- package/dist/mjs/src/tools/SelectionTool/SelectionHandle.d.ts +38 -0
- package/dist/{src/tools/SelectionTool/SelectionHandle.js → mjs/src/tools/SelectionTool/SelectionHandle.mjs} +3 -3
- package/dist/mjs/src/tools/SelectionTool/SelectionTool.d.ts +36 -0
- package/dist/{src/tools/SelectionTool/SelectionTool.js → mjs/src/tools/SelectionTool/SelectionTool.mjs} +13 -14
- package/dist/mjs/src/tools/SelectionTool/TransformMode.d.ts +34 -0
- package/dist/{src/tools/SelectionTool/TransformMode.js → mjs/src/tools/SelectionTool/TransformMode.mjs} +4 -4
- package/dist/mjs/src/tools/SelectionTool/types.d.ts +9 -0
- package/dist/mjs/src/tools/TextTool.d.ts +33 -0
- package/dist/{src/tools/TextTool.js → mjs/src/tools/TextTool.mjs} +11 -11
- package/dist/mjs/src/tools/ToolController.d.ts +18 -0
- package/dist/{src/tools/ToolController.js → mjs/src/tools/ToolController.mjs} +16 -16
- package/dist/mjs/src/tools/ToolEnabledGroup.d.ts +6 -0
- package/dist/mjs/src/tools/ToolSwitcherShortcut.d.ts +16 -0
- package/dist/{src/tools/ToolSwitcherShortcut.js → mjs/src/tools/ToolSwitcherShortcut.mjs} +1 -1
- package/dist/mjs/src/tools/ToolbarShortcutHandler.d.ts +12 -0
- package/dist/{src/tools/ToolbarShortcutHandler.js → mjs/src/tools/ToolbarShortcutHandler.mjs} +1 -1
- package/dist/mjs/src/tools/UndoRedoShortcut.d.ts +8 -0
- package/dist/{src/tools/UndoRedoShortcut.js → mjs/src/tools/UndoRedoShortcut.mjs} +1 -1
- package/dist/{src/tools/lib.js → mjs/src/tools/lib.d.ts} +1 -1
- package/dist/mjs/src/tools/lib.mjs +16 -0
- package/dist/mjs/src/tools/localization.d.ts +28 -0
- package/dist/mjs/src/types.d.ts +151 -0
- package/dist/mjs/src/util/assertions.d.ts +23 -0
- package/dist/mjs/src/util/fileToBase64.d.ts +3 -0
- package/dist/mjs/src/util/untilNextAnimationFrame.d.ts +3 -0
- package/dist/mjs/src/util/waitForTimeout.d.ts +2 -0
- package/package.json +34 -33
- package/src/Color4.ts +2 -0
- package/src/Editor.ts +62 -28
- package/src/EditorImage.ts +4 -2
- package/src/SVGLoader.ts +4 -0
- package/src/lib.ts +2 -1
- package/src/rendering/lib.ts +2 -0
- package/src/rendering/renderers/CanvasRenderer.ts +27 -0
- package/src/rendering/renderers/SVGRenderer.ts +32 -1
- package/src/testing/lib.ts +3 -0
- package/src/testing/sendPenEvent.ts +31 -0
- package/src/testing/sendTouchEvent.ts +36 -1
- package/src/toolbar/toolbar.css +5 -0
- package/src/toolbar/widgets/DocumentPropertiesWidget.ts +4 -2
- package/src/toolbar/widgets/PenToolWidget.ts +1 -0
- package/src/toolbar/widgets/TextToolWidget.ts +4 -1
- package/src/tools/Eraser.test.ts +11 -10
- package/src/tools/PanZoom.test.ts +1 -1
- package/src/tools/Pen.test.ts +63 -62
- package/src/tools/SelectionTool/SelectionTool.test.ts +15 -14
- package/src/tools/SelectionTool/SelectionTool.ts +5 -7
- package/tsconfig.json +3 -2
- package/tsconfig.mjs.json +9 -0
- package/dist/src/testing/sendTouchEvent.d.ts +0 -6
- package/dist/src/testing/sendTouchEvent.js +0 -26
- /package/dist/{build_tools → cjs/build_tools}/BundledFile.d.ts +0 -0
- /package/dist/{build_tools → cjs/build_tools}/buildTranslationTemplate.d.ts +0 -0
- /package/dist/{build_tools → cjs/build_tools}/bundle.d.ts +0 -0
- /package/dist/{src/components/builders/types.js → cjs/build_tools/postDist.d.ts} +0 -0
- /package/dist/{src → cjs/src}/EventDispatcher.d.ts +0 -0
- /package/dist/{src → cjs/src}/Pointer.d.ts +0 -0
- /package/dist/{src → cjs/src}/UndoRedoHistory.d.ts +0 -0
- /package/dist/{src → cjs/src}/Viewport.d.ts +0 -0
- /package/dist/{src → cjs/src}/bundle/bundled.d.ts +0 -0
- /package/dist/{src → cjs/src}/commands/Command.d.ts +0 -0
- /package/dist/{src → cjs/src}/commands/Duplicate.d.ts +0 -0
- /package/dist/{src → cjs/src}/commands/Erase.d.ts +0 -0
- /package/dist/{src → cjs/src}/commands/SerializableCommand.d.ts +0 -0
- /package/dist/{src → cjs/src}/commands/UnresolvedCommand.d.ts +0 -0
- /package/dist/{src → cjs/src}/commands/invertCommand.d.ts +0 -0
- /package/dist/{src → cjs/src}/commands/lib.d.ts +0 -0
- /package/dist/{src → cjs/src}/commands/localization.d.ts +0 -0
- /package/dist/{src → cjs/src}/commands/uniteCommands.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/AbstractComponent.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/ImageBackground.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/ImageComponent.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/RestylableComponent.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/SVGGlobalAttributesObject.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/Stroke.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/TextComponent.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/UnknownSVGObject.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/builders/ArrowBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/builders/FreehandLineBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/builders/LineBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/builders/PressureSensitiveFreehandLineBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/builders/RectangleBuilder.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/builders/types.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/lib.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/localization.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/util/StrokeSmoother.d.ts +0 -0
- /package/dist/{src → cjs/src}/components/util/describeComponentList.d.ts +0 -0
- /package/dist/{src → cjs/src}/localization.d.ts +0 -0
- /package/dist/{src → cjs/src}/localizations/de.d.ts +0 -0
- /package/dist/{src → cjs/src}/localizations/en.d.ts +0 -0
- /package/dist/{src → cjs/src}/localizations/es.d.ts +0 -0
- /package/dist/{src → cjs/src}/localizations/getLocalizationTable.d.ts +0 -0
- /package/dist/{src → cjs/src}/math/LineSegment2.d.ts +0 -0
- /package/dist/{src → cjs/src}/math/Mat33.d.ts +0 -0
- /package/dist/{src → cjs/src}/math/Path.d.ts +0 -0
- /package/dist/{src → cjs/src}/math/Rect2.d.ts +0 -0
- /package/dist/{src → cjs/src}/math/Triangle.d.ts +0 -0
- /package/dist/{src → cjs/src}/math/Vec2.d.ts +0 -0
- /package/dist/{src → cjs/src}/math/Vec3.d.ts +0 -0
- /package/dist/{src → cjs/src}/math/lib.d.ts +0 -0
- /package/dist/{src → cjs/src}/math/rounding.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/Display.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/RenderingStyle.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/TextRenderingStyle.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/caching/CacheRecord.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/caching/CacheRecordManager.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/caching/RenderingCache.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/caching/RenderingCacheNode.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/caching/testUtils.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/caching/types.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/localization.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/renderers/AbstractRenderer.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/renderers/DummyRenderer.d.ts +0 -0
- /package/dist/{src → cjs/src}/rendering/renderers/TextOnlyRenderer.d.ts +0 -0
- /package/dist/{src → cjs/src}/testing/beforeEachFile.d.ts +0 -0
- /package/dist/{src → cjs/src}/testing/createEditor.d.ts +0 -0
- /package/dist/{src → cjs/src}/testing/loadExpectExtensions.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/HTMLToolbar.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/IconProvider.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/lib.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/localization.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/makeColorInput.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/types.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/ActionButtonWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/BaseToolWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/BaseWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/DocumentPropertiesWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/EraserToolWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/HandToolWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/InsertImageWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/OverflowWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/PenToolWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/SelectionToolWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/TextToolWidget.d.ts +0 -0
- /package/dist/{src → cjs/src}/toolbar/widgets/lib.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/BaseTool.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/Eraser.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/FindTool.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/PanZoom.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/PasteHandler.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/Pen.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/PipetteTool.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/SelectionTool/SelectAllShortcutHandler.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/SelectionTool/Selection.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/SelectionTool/SelectionHandle.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/SelectionTool/SelectionTool.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/SelectionTool/TransformMode.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/SelectionTool/types.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/TextTool.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/ToolController.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/ToolEnabledGroup.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/ToolSwitcherShortcut.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/ToolbarShortcutHandler.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/UndoRedoShortcut.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/lib.d.ts +0 -0
- /package/dist/{src → cjs/src}/tools/localization.d.ts +0 -0
- /package/dist/{src → cjs/src}/types.d.ts +0 -0
- /package/dist/{src → cjs/src}/util/assertions.d.ts +0 -0
- /package/dist/{src → cjs/src}/util/fileToBase64.d.ts +0 -0
- /package/dist/{src → cjs/src}/util/untilNextAnimationFrame.d.ts +0 -0
- /package/dist/{src → cjs/src}/util/waitForTimeout.d.ts +0 -0
- /package/dist/{build_tools/BundledFile.js → mjs/build_tools/BundledFile.mjs} +0 -0
- /package/dist/{src/rendering/caching/types.js → mjs/build_tools/buildTranslationTemplate.d.ts} +0 -0
- /package/dist/{src/toolbar/types.js → mjs/build_tools/bundle.d.ts} +0 -0
- /package/dist/{src/EventDispatcher.js → mjs/src/EventDispatcher.mjs} +0 -0
- /package/dist/{src/commands/Command.js → mjs/src/commands/Command.mjs} +0 -0
- /package/dist/{src/commands/lib.js → mjs/src/commands/lib.d.ts} +0 -0
- /package/dist/{src/commands/localization.js → mjs/src/commands/localization.mjs} +0 -0
- /package/dist/{src/components/localization.js → mjs/src/components/localization.mjs} +0 -0
- /package/dist/{src/components/util/describeComponentList.js → mjs/src/components/util/describeComponentList.mjs} +0 -0
- /package/dist/{src/math/Triangle.js → mjs/src/math/Triangle.mjs} +0 -0
- /package/dist/{src/math/Vec3.js → mjs/src/math/Vec3.mjs} +0 -0
- /package/dist/{src/math/lib.js → mjs/src/math/lib.d.ts} +0 -0
- /package/dist/{src/math/rounding.js → mjs/src/math/rounding.mjs} +0 -0
- /package/dist/{src/rendering/localization.js → mjs/src/rendering/localization.mjs} +0 -0
- /package/dist/{src/testing/loadExpectExtensions.js → mjs/src/testing/loadExpectExtensions.mjs} +0 -0
- /package/dist/{src/toolbar/lib.js → mjs/src/toolbar/lib.d.ts} +0 -0
- /package/dist/{src/toolbar/localization.js → mjs/src/toolbar/localization.mjs} +0 -0
- /package/dist/{src/toolbar/widgets/lib.js → mjs/src/toolbar/widgets/lib.d.ts} +0 -0
- /package/dist/{src/tools/SelectionTool/types.js → mjs/src/tools/SelectionTool/types.mjs} +0 -0
- /package/dist/{src/tools/ToolEnabledGroup.js → mjs/src/tools/ToolEnabledGroup.mjs} +0 -0
- /package/dist/{src/tools/localization.js → mjs/src/tools/localization.mjs} +0 -0
- /package/dist/{src/types.js → mjs/src/types.mjs} +0 -0
- /package/dist/{src/util/assertions.js → mjs/src/util/assertions.mjs} +0 -0
- /package/dist/{src/util/fileToBase64.js → mjs/src/util/fileToBase64.mjs} +0 -0
- /package/dist/{src/util/untilNextAnimationFrame.js → mjs/src/util/untilNextAnimationFrame.mjs} +0 -0
- /package/dist/{src/util/waitForTimeout.js → mjs/src/util/waitForTimeout.mjs} +0 -0
@@ -0,0 +1,27 @@
|
|
1
|
+
import { ComponentBuilderFactory } from '../../components/builders/types';
|
2
|
+
import Editor from '../../Editor';
|
3
|
+
import Pen from '../../tools/Pen';
|
4
|
+
import { KeyPressEvent } from '../../types';
|
5
|
+
import { ToolbarLocalization } from '../localization';
|
6
|
+
import BaseToolWidget from './BaseToolWidget';
|
7
|
+
import { SavedToolbuttonState } from './BaseWidget';
|
8
|
+
export interface PenTypeRecord {
|
9
|
+
name: string;
|
10
|
+
id: string;
|
11
|
+
factory: ComponentBuilderFactory;
|
12
|
+
}
|
13
|
+
export default class PenToolWidget extends BaseToolWidget {
|
14
|
+
private tool;
|
15
|
+
private updateInputs;
|
16
|
+
protected penTypes: PenTypeRecord[];
|
17
|
+
constructor(editor: Editor, tool: Pen, localization?: ToolbarLocalization);
|
18
|
+
protected getTitle(): string;
|
19
|
+
private getCurrentPenTypeIdx;
|
20
|
+
private getCurrentPenType;
|
21
|
+
protected createIcon(): Element;
|
22
|
+
private static idCounter;
|
23
|
+
protected fillDropdown(dropdown: HTMLElement): boolean;
|
24
|
+
protected onKeyPress(event: KeyPressEvent): boolean;
|
25
|
+
serializeState(): SavedToolbuttonState;
|
26
|
+
deserializeFrom(state: SavedToolbuttonState): void;
|
27
|
+
}
|
package/dist/{src/toolbar/widgets/PenToolWidget.js → mjs/src/toolbar/widgets/PenToolWidget.mjs}
RENAMED
@@ -1,13 +1,13 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
7
|
-
import
|
8
|
-
import
|
9
|
-
import
|
10
|
-
import
|
1
|
+
import { makeArrowBuilder } from '../../components/builders/ArrowBuilder.mjs';
|
2
|
+
import { makeFreehandLineBuilder } from '../../components/builders/FreehandLineBuilder.mjs';
|
3
|
+
import { makePressureSensitiveFreehandLineBuilder } from '../../components/builders/PressureSensitiveFreehandLineBuilder.mjs';
|
4
|
+
import { makeLineBuilder } from '../../components/builders/LineBuilder.mjs';
|
5
|
+
import { makeFilledRectangleBuilder, makeOutlinedRectangleBuilder } from '../../components/builders/RectangleBuilder.mjs';
|
6
|
+
import { EditorEventType } from '../../types.mjs';
|
7
|
+
import { toolbarCSSPrefix } from '../HTMLToolbar.mjs';
|
8
|
+
import makeColorInput from '../makeColorInput.mjs';
|
9
|
+
import BaseToolWidget from './BaseToolWidget.mjs';
|
10
|
+
import Color4 from '../../Color4.mjs';
|
11
11
|
export default class PenToolWidget extends BaseToolWidget {
|
12
12
|
constructor(editor, tool, localization) {
|
13
13
|
super(editor, tool, 'pen', localization);
|
@@ -97,6 +97,7 @@ export default class PenToolWidget extends BaseToolWidget {
|
|
97
97
|
}
|
98
98
|
fillDropdown(dropdown) {
|
99
99
|
const container = document.createElement('div');
|
100
|
+
container.classList.add(`${toolbarCSSPrefix}spacedList`);
|
100
101
|
const thicknessRow = document.createElement('div');
|
101
102
|
const objectTypeRow = document.createElement('div');
|
102
103
|
// Thickness: Value of the input is squared to allow for finer control/larger values.
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import Editor from '../../Editor';
|
2
|
+
import SelectionTool from '../../tools/SelectionTool/SelectionTool';
|
3
|
+
import { KeyPressEvent } from '../../types';
|
4
|
+
import { ToolbarLocalization } from '../localization';
|
5
|
+
import BaseToolWidget from './BaseToolWidget';
|
6
|
+
export default class SelectionToolWidget extends BaseToolWidget {
|
7
|
+
private tool;
|
8
|
+
constructor(editor: Editor, tool: SelectionTool, localization?: ToolbarLocalization);
|
9
|
+
private resizeImageToSelection;
|
10
|
+
protected onKeyPress(event: KeyPressEvent): boolean;
|
11
|
+
protected getTitle(): string;
|
12
|
+
protected createIcon(): Element;
|
13
|
+
}
|
@@ -7,14 +7,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
8
|
});
|
9
9
|
};
|
10
|
-
import
|
11
|
-
import
|
12
|
-
import
|
13
|
-
import
|
14
|
-
import
|
15
|
-
import
|
16
|
-
import
|
17
|
-
import
|
10
|
+
import Color4 from '../../Color4.mjs';
|
11
|
+
import { isRestylableComponent } from '../../components/RestylableComponent.mjs';
|
12
|
+
import uniteCommands from '../../commands/uniteCommands.mjs';
|
13
|
+
import { EditorEventType } from '../../types.mjs';
|
14
|
+
import makeColorInput from '../makeColorInput.mjs';
|
15
|
+
import ActionButtonWidget from './ActionButtonWidget.mjs';
|
16
|
+
import BaseToolWidget from './BaseToolWidget.mjs';
|
17
|
+
import BaseWidget from './BaseWidget.mjs';
|
18
18
|
class RestyleSelectionWidget extends BaseWidget {
|
19
19
|
constructor(editor, selectionTool, localizationTable) {
|
20
20
|
super(editor, 'restyle-selection', localizationTable);
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import Editor from '../../Editor';
|
2
|
+
import TextTool from '../../tools/TextTool';
|
3
|
+
import { ToolbarLocalization } from '../localization';
|
4
|
+
import BaseToolWidget from './BaseToolWidget';
|
5
|
+
import { SavedToolbuttonState } from './BaseWidget';
|
6
|
+
export default class TextToolWidget extends BaseToolWidget {
|
7
|
+
private tool;
|
8
|
+
private updateDropdownInputs;
|
9
|
+
constructor(editor: Editor, tool: TextTool, localization?: ToolbarLocalization);
|
10
|
+
protected getTitle(): string;
|
11
|
+
protected createIcon(): Element;
|
12
|
+
private static idCounter;
|
13
|
+
protected fillDropdown(dropdown: HTMLElement): boolean;
|
14
|
+
serializeState(): SavedToolbuttonState;
|
15
|
+
deserializeFrom(state: SavedToolbuttonState): void;
|
16
|
+
}
|
package/dist/{src/toolbar/widgets/TextToolWidget.js → mjs/src/toolbar/widgets/TextToolWidget.mjs}
RENAMED
@@ -1,8 +1,8 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
1
|
+
import Color4 from '../../Color4.mjs';
|
2
|
+
import { EditorEventType } from '../../types.mjs';
|
3
|
+
import { toolbarCSSPrefix } from '../HTMLToolbar.mjs';
|
4
|
+
import makeColorInput from '../makeColorInput.mjs';
|
5
|
+
import BaseToolWidget from './BaseToolWidget.mjs';
|
6
6
|
export default class TextToolWidget extends BaseToolWidget {
|
7
7
|
constructor(editor, tool, localization) {
|
8
8
|
super(editor, tool, 'text-tool-widget', localization);
|
@@ -24,6 +24,8 @@ export default class TextToolWidget extends BaseToolWidget {
|
|
24
24
|
return this.editor.icons.makeTextIcon(textStyle);
|
25
25
|
}
|
26
26
|
fillDropdown(dropdown) {
|
27
|
+
const container = document.createElement('div');
|
28
|
+
container.classList.add(`${toolbarCSSPrefix}spacedList`);
|
27
29
|
const fontRow = document.createElement('div');
|
28
30
|
const colorRow = document.createElement('div');
|
29
31
|
const sizeRow = document.createElement('div');
|
@@ -83,7 +85,8 @@ export default class TextToolWidget extends BaseToolWidget {
|
|
83
85
|
sizeInput.value = `${style.size}`;
|
84
86
|
};
|
85
87
|
this.updateDropdownInputs();
|
86
|
-
|
88
|
+
container.replaceChildren(colorRow, sizeRow, fontRow);
|
89
|
+
dropdown.appendChild(container);
|
87
90
|
return true;
|
88
91
|
}
|
89
92
|
serializeState() {
|
@@ -0,0 +1,10 @@
|
|
1
|
+
export { default as ActionButtonWidget } from './ActionButtonWidget.mjs';
|
2
|
+
export { default as BaseToolWidget } from './BaseToolWidget.mjs';
|
3
|
+
export { default as BaseWidget } from './BaseWidget.mjs';
|
4
|
+
export { default as PenToolWidget } from './PenToolWidget.mjs';
|
5
|
+
export { default as TextToolWidget } from './TextToolWidget.mjs';
|
6
|
+
export { default as HandToolWidget } from './HandToolWidget.mjs';
|
7
|
+
export { default as SelectionToolWidget } from './SelectionToolWidget.mjs';
|
8
|
+
export { default as EraserToolWidget } from './EraserToolWidget.mjs';
|
9
|
+
export { default as InsertImageWidget } from './InsertImageWidget.mjs';
|
10
|
+
export { default as DocumentPropertiesWidget } from './DocumentPropertiesWidget.mjs';
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { PointerEvtListener, WheelEvt, PointerEvt, EditorNotifier, KeyPressEvent, KeyUpEvent, PasteEvent, CopyEvent } from '../types';
|
2
|
+
import ToolEnabledGroup from './ToolEnabledGroup';
|
3
|
+
export default abstract class BaseTool implements PointerEvtListener {
|
4
|
+
private notifier;
|
5
|
+
readonly description: string;
|
6
|
+
private enabled;
|
7
|
+
private group;
|
8
|
+
onPointerDown(_event: PointerEvt): boolean;
|
9
|
+
onPointerMove(_event: PointerEvt): void;
|
10
|
+
onPointerUp(_event: PointerEvt): void;
|
11
|
+
onGestureCancel(): void;
|
12
|
+
protected constructor(notifier: EditorNotifier, description: string);
|
13
|
+
onWheel(_event: WheelEvt): boolean;
|
14
|
+
onCopy(_event: CopyEvent): boolean;
|
15
|
+
onPaste(_event: PasteEvent): boolean;
|
16
|
+
onKeyPress(_event: KeyPressEvent): boolean;
|
17
|
+
onKeyUp(_event: KeyUpEvent): boolean;
|
18
|
+
setEnabled(enabled: boolean): void;
|
19
|
+
isEnabled(): boolean;
|
20
|
+
setToolGroup(group: ToolEnabledGroup): void;
|
21
|
+
getToolGroup(): ToolEnabledGroup | null;
|
22
|
+
}
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import { PointerEvt } from '../types';
|
2
|
+
import BaseTool from './BaseTool';
|
3
|
+
import Editor from '../Editor';
|
4
|
+
export default class Eraser extends BaseTool {
|
5
|
+
private editor;
|
6
|
+
private lastPoint;
|
7
|
+
private isFirstEraseEvt;
|
8
|
+
private toRemove;
|
9
|
+
private thickness;
|
10
|
+
private partialCommands;
|
11
|
+
constructor(editor: Editor, description: string);
|
12
|
+
private clearPreview;
|
13
|
+
private getSizeOnCanvas;
|
14
|
+
private drawPreviewAt;
|
15
|
+
private getEraserRect;
|
16
|
+
private eraseTo;
|
17
|
+
onPointerDown(event: PointerEvt): boolean;
|
18
|
+
onPointerMove(event: PointerEvt): void;
|
19
|
+
onPointerUp(event: PointerEvt): void;
|
20
|
+
onGestureCancel(): void;
|
21
|
+
getThickness(): number;
|
22
|
+
setThickness(thickness: number): void;
|
23
|
+
}
|
@@ -1,11 +1,11 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
6
|
-
import
|
7
|
-
import
|
8
|
-
import
|
1
|
+
import { EditorEventType } from '../types.mjs';
|
2
|
+
import BaseTool from './BaseTool.mjs';
|
3
|
+
import { Vec2 } from '../math/Vec2.mjs';
|
4
|
+
import LineSegment2 from '../math/LineSegment2.mjs';
|
5
|
+
import Erase from '../commands/Erase.mjs';
|
6
|
+
import { PointerDevice } from '../Pointer.mjs';
|
7
|
+
import Color4 from '../Color4.mjs';
|
8
|
+
import Rect2 from '../math/Rect2.mjs';
|
9
9
|
export default class Eraser extends BaseTool {
|
10
10
|
constructor(editor, description) {
|
11
11
|
super(editor.notifier, description);
|
@@ -0,0 +1,21 @@
|
|
1
|
+
import Editor from '../Editor';
|
2
|
+
import { KeyPressEvent } from '../types';
|
3
|
+
import BaseTool from './BaseTool';
|
4
|
+
export declare const cssPrefix = "find-tool";
|
5
|
+
export default class FindTool extends BaseTool {
|
6
|
+
private editor;
|
7
|
+
private overlay;
|
8
|
+
private searchInput;
|
9
|
+
private currentMatchIdx;
|
10
|
+
constructor(editor: Editor);
|
11
|
+
private getMatches;
|
12
|
+
private focusCurrentMatch;
|
13
|
+
private toNextMatch;
|
14
|
+
private toPrevMatch;
|
15
|
+
private fillOverlay;
|
16
|
+
private isVisible;
|
17
|
+
private setVisible;
|
18
|
+
private toggleVisible;
|
19
|
+
onKeyPress(event: KeyPressEvent): boolean;
|
20
|
+
setEnabled(enabled: boolean): void;
|
21
|
+
}
|
@@ -1,8 +1,8 @@
|
|
1
1
|
// Displays a find dialog that allows the user to search for and focus text.
|
2
2
|
//
|
3
3
|
// @packageDocumentation
|
4
|
-
import
|
5
|
-
import
|
4
|
+
import TextComponent from '../components/TextComponent.mjs';
|
5
|
+
import BaseTool from './BaseTool.mjs';
|
6
6
|
export const cssPrefix = 'find-tool';
|
7
7
|
export default class FindTool extends BaseTool {
|
8
8
|
constructor(editor) {
|
@@ -0,0 +1,52 @@
|
|
1
|
+
import { Editor } from '../Editor';
|
2
|
+
import { Point2 } from '../math/Vec2';
|
3
|
+
import Pointer from '../Pointer';
|
4
|
+
import { KeyPressEvent, PointerEvt, WheelEvt } from '../types';
|
5
|
+
import BaseTool from './BaseTool';
|
6
|
+
interface PinchData {
|
7
|
+
canvasCenter: Point2;
|
8
|
+
screenCenter: Point2;
|
9
|
+
angle: number;
|
10
|
+
dist: number;
|
11
|
+
}
|
12
|
+
export declare enum PanZoomMode {
|
13
|
+
OneFingerTouchGestures = 1,
|
14
|
+
TwoFingerTouchGestures = 2,
|
15
|
+
RightClickDrags = 4,
|
16
|
+
SinglePointerGestures = 8,
|
17
|
+
Keyboard = 16,
|
18
|
+
RotationLocked = 32
|
19
|
+
}
|
20
|
+
export default class PanZoom extends BaseTool {
|
21
|
+
private editor;
|
22
|
+
private mode;
|
23
|
+
private transform;
|
24
|
+
private lastDist;
|
25
|
+
private lastScreenCenter;
|
26
|
+
private lastTimestamp;
|
27
|
+
private lastPointerDownTimestamp;
|
28
|
+
private initialTouchAngle;
|
29
|
+
private initialViewportRotation;
|
30
|
+
private inertialScroller;
|
31
|
+
private velocity;
|
32
|
+
constructor(editor: Editor, mode: PanZoomMode, description: string);
|
33
|
+
computePinchData(p1: Pointer, p2: Pointer): PinchData;
|
34
|
+
private allPointersAreOfType;
|
35
|
+
onPointerDown({ allPointers: pointers, current: currentPointer }: PointerEvt): boolean;
|
36
|
+
private updateVelocity;
|
37
|
+
private getCenterDelta;
|
38
|
+
private toSnappedRotationDelta;
|
39
|
+
private handleTwoFingerMove;
|
40
|
+
private handleOneFingerMove;
|
41
|
+
onPointerMove({ allPointers }: PointerEvt): void;
|
42
|
+
onPointerUp(event: PointerEvt): void;
|
43
|
+
onGestureCancel(): void;
|
44
|
+
private updateTransform;
|
45
|
+
onWheel({ delta, screenPos }: WheelEvt): boolean;
|
46
|
+
onKeyPress({ key, ctrlKey, altKey }: KeyPressEvent): boolean;
|
47
|
+
private isRotationLocked;
|
48
|
+
setModeEnabled(mode: PanZoomMode, enabled: boolean): void;
|
49
|
+
setMode(mode: PanZoomMode): void;
|
50
|
+
getMode(): PanZoomMode;
|
51
|
+
}
|
52
|
+
export {};
|
@@ -7,14 +7,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
8
|
});
|
9
9
|
};
|
10
|
-
import
|
11
|
-
import
|
12
|
-
import
|
13
|
-
import
|
14
|
-
import
|
15
|
-
import
|
16
|
-
import
|
17
|
-
import
|
10
|
+
import Mat33 from '../math/Mat33.mjs';
|
11
|
+
import { Vec2 } from '../math/Vec2.mjs';
|
12
|
+
import Vec3 from '../math/Vec3.mjs';
|
13
|
+
import { PointerDevice } from '../Pointer.mjs';
|
14
|
+
import { EditorEventType } from '../types.mjs';
|
15
|
+
import untilNextAnimationFrame from '../util/untilNextAnimationFrame.mjs';
|
16
|
+
import { Viewport } from '../Viewport.mjs';
|
17
|
+
import BaseTool from './BaseTool.mjs';
|
18
18
|
export var PanZoomMode;
|
19
19
|
(function (PanZoomMode) {
|
20
20
|
PanZoomMode[PanZoomMode["OneFingerTouchGestures"] = 1] = "OneFingerTouchGestures";
|
@@ -0,0 +1,23 @@
|
|
1
|
+
import Editor from '../Editor';
|
2
|
+
import { PasteEvent } from '../types';
|
3
|
+
import BaseTool from './BaseTool';
|
4
|
+
/**
|
5
|
+
* A tool that handles paste events (e.g. as triggered by ctrl+V).
|
6
|
+
*
|
7
|
+
* @example
|
8
|
+
* While `ToolController` has a `PasteHandler` in its default list of tools,
|
9
|
+
* if a non-default set is being used, `PasteHandler` can be added as follows:
|
10
|
+
* ```ts
|
11
|
+
* const toolController = editor.toolController;
|
12
|
+
* toolController.addTool(new PasteHandler(editor));
|
13
|
+
* ```
|
14
|
+
*/
|
15
|
+
export default class PasteHandler extends BaseTool {
|
16
|
+
private editor;
|
17
|
+
constructor(editor: Editor);
|
18
|
+
onPaste(event: PasteEvent): boolean;
|
19
|
+
private addComponentsFromPaste;
|
20
|
+
private doSVGPaste;
|
21
|
+
private doTextPaste;
|
22
|
+
private doImagePaste;
|
23
|
+
}
|
@@ -7,13 +7,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
7
7
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8
8
|
});
|
9
9
|
};
|
10
|
-
import
|
11
|
-
import
|
12
|
-
import
|
13
|
-
import
|
14
|
-
import
|
15
|
-
import
|
16
|
-
import
|
10
|
+
import TextComponent from '../components/TextComponent.mjs';
|
11
|
+
import SVGLoader from '../SVGLoader.mjs';
|
12
|
+
import Mat33 from '../math/Mat33.mjs';
|
13
|
+
import BaseTool from './BaseTool.mjs';
|
14
|
+
import TextTool from './TextTool.mjs';
|
15
|
+
import Color4 from '../Color4.mjs';
|
16
|
+
import ImageComponent from '../components/ImageComponent.mjs';
|
17
17
|
/**
|
18
18
|
* A tool that handles paste events (e.g. as triggered by ctrl+V).
|
19
19
|
*
|
@@ -0,0 +1,39 @@
|
|
1
|
+
import Color4 from '../Color4';
|
2
|
+
import Editor from '../Editor';
|
3
|
+
import Pointer from '../Pointer';
|
4
|
+
import { KeyPressEvent, KeyUpEvent, PointerEvt, StrokeDataPoint } from '../types';
|
5
|
+
import BaseTool from './BaseTool';
|
6
|
+
import { ComponentBuilder, ComponentBuilderFactory } from '../components/builders/types';
|
7
|
+
export interface PenStyle {
|
8
|
+
color: Color4;
|
9
|
+
thickness: number;
|
10
|
+
}
|
11
|
+
export default class Pen extends BaseTool {
|
12
|
+
private editor;
|
13
|
+
private style;
|
14
|
+
private builderFactory;
|
15
|
+
protected builder: ComponentBuilder | null;
|
16
|
+
private lastPoint;
|
17
|
+
private ctrlKeyPressed;
|
18
|
+
constructor(editor: Editor, description: string, style: PenStyle, builderFactory?: ComponentBuilderFactory);
|
19
|
+
private getPressureMultiplier;
|
20
|
+
protected toStrokePoint(pointer: Pointer): StrokeDataPoint;
|
21
|
+
protected previewStroke(): void;
|
22
|
+
protected addPointToStroke(point: StrokeDataPoint): void;
|
23
|
+
onPointerDown({ current, allPointers }: PointerEvt): boolean;
|
24
|
+
onPointerMove({ current }: PointerEvt): void;
|
25
|
+
onPointerUp({ current }: PointerEvt): void;
|
26
|
+
onGestureCancel(): void;
|
27
|
+
private finalizeStroke;
|
28
|
+
private noteUpdated;
|
29
|
+
setColor(color: Color4): void;
|
30
|
+
setThickness(thickness: number): void;
|
31
|
+
setStrokeFactory(factory: ComponentBuilderFactory): void;
|
32
|
+
getThickness(): number;
|
33
|
+
getColor(): Color4;
|
34
|
+
getStrokeFactory(): ComponentBuilderFactory;
|
35
|
+
setEnabled(enabled: boolean): void;
|
36
|
+
private isSnappingToGrid;
|
37
|
+
onKeyPress({ key, ctrlKey }: KeyPressEvent): boolean;
|
38
|
+
onKeyUp({ key }: KeyUpEvent): boolean;
|
39
|
+
}
|
@@ -1,8 +1,8 @@
|
|
1
|
-
import
|
2
|
-
import
|
3
|
-
import
|
4
|
-
import
|
5
|
-
import
|
1
|
+
import EditorImage from '../EditorImage.mjs';
|
2
|
+
import { PointerDevice } from '../Pointer.mjs';
|
3
|
+
import { makeFreehandLineBuilder } from '../components/builders/FreehandLineBuilder.mjs';
|
4
|
+
import { EditorEventType } from '../types.mjs';
|
5
|
+
import BaseTool from './BaseTool.mjs';
|
6
6
|
export default class Pen extends BaseTool {
|
7
7
|
constructor(editor, description, style, builderFactory = makeFreehandLineBuilder) {
|
8
8
|
super(editor.notifier, description);
|
@@ -0,0 +1,18 @@
|
|
1
|
+
import Color4 from '../Color4';
|
2
|
+
import Editor from '../Editor';
|
3
|
+
import { PointerEvt } from '../types';
|
4
|
+
import BaseTool from './BaseTool';
|
5
|
+
type ColorListener = (color: Color4 | null) => void;
|
6
|
+
export default class PipetteTool extends BaseTool {
|
7
|
+
private editor;
|
8
|
+
private colorPreviewListener;
|
9
|
+
private colorSelectListener;
|
10
|
+
constructor(editor: Editor, description: string);
|
11
|
+
setColorListener(colorPreviewListener: ColorListener, colorSelectListener: ColorListener): void;
|
12
|
+
clearColorListener(): void;
|
13
|
+
onPointerDown({ current, allPointers }: PointerEvt): boolean;
|
14
|
+
onPointerMove({ current }: PointerEvt): void;
|
15
|
+
onPointerUp({ current }: PointerEvt): void;
|
16
|
+
onGestureCancel(): void;
|
17
|
+
}
|
18
|
+
export {};
|
@@ -0,0 +1,8 @@
|
|
1
|
+
import Editor from '../../Editor';
|
2
|
+
import { KeyPressEvent } from '../../types';
|
3
|
+
import BaseTool from '../BaseTool';
|
4
|
+
export default class SelectAllShortcutHandler extends BaseTool {
|
5
|
+
private editor;
|
6
|
+
constructor(editor: Editor);
|
7
|
+
onKeyPress({ key, ctrlKey }: KeyPressEvent): boolean;
|
8
|
+
}
|
@@ -1,5 +1,5 @@
|
|
1
|
-
import
|
2
|
-
import
|
1
|
+
import BaseTool from '../BaseTool.mjs';
|
2
|
+
import SelectionTool from './SelectionTool.mjs';
|
3
3
|
// Handles ctrl+a: Select all
|
4
4
|
export default class SelectAllShortcutHandler extends BaseTool {
|
5
5
|
constructor(editor) {
|
@@ -0,0 +1,64 @@
|
|
1
|
+
/**
|
2
|
+
* @internal
|
3
|
+
* @packageDocumentation
|
4
|
+
*/
|
5
|
+
import Editor from '../../Editor';
|
6
|
+
import Mat33 from '../../math/Mat33';
|
7
|
+
import Rect2 from '../../math/Rect2';
|
8
|
+
import { Point2 } from '../../math/Vec2';
|
9
|
+
import Pointer from '../../Pointer';
|
10
|
+
import AbstractComponent from '../../components/AbstractComponent';
|
11
|
+
import Command from '../../commands/Command';
|
12
|
+
export default class Selection {
|
13
|
+
private editor;
|
14
|
+
private handles;
|
15
|
+
private originalRegion;
|
16
|
+
private transformers;
|
17
|
+
private transform;
|
18
|
+
private selectedElems;
|
19
|
+
private container;
|
20
|
+
private backgroundElem;
|
21
|
+
private hasParent;
|
22
|
+
constructor(startPoint: Point2, editor: Editor);
|
23
|
+
getBackgroundElem(): HTMLElement;
|
24
|
+
getTransform(): Mat33;
|
25
|
+
get preTransformRegion(): Rect2;
|
26
|
+
get region(): Rect2;
|
27
|
+
/**
|
28
|
+
* Computes and returns the bounding box of the selection without
|
29
|
+
* any additional padding. Computes directly from the elements that are selected.
|
30
|
+
* @internal
|
31
|
+
*/
|
32
|
+
computeTightBoundingBox(): Rect2;
|
33
|
+
get regionRotation(): number;
|
34
|
+
get preTransformedScreenRegion(): Rect2;
|
35
|
+
get preTransformedScreenRegionRotation(): number;
|
36
|
+
get screenRegion(): Rect2;
|
37
|
+
get screenRegionRotation(): number;
|
38
|
+
setTransform(transform: Mat33, preview?: boolean): void;
|
39
|
+
finalizeTransform(): void;
|
40
|
+
private static ApplyTransformationCommand;
|
41
|
+
private previewTransformCmds;
|
42
|
+
resolveToObjects(): boolean;
|
43
|
+
recomputeRegion(): boolean;
|
44
|
+
getMinCanvasSize(): number;
|
45
|
+
getSelectedItemCount(): number;
|
46
|
+
updateUI(): void;
|
47
|
+
private removedFromImage;
|
48
|
+
private addRemoveSelectionFromImage;
|
49
|
+
private removeDeletedElemsFromSelection;
|
50
|
+
private targetHandle;
|
51
|
+
private backgroundDragging;
|
52
|
+
onDragStart(pointer: Pointer, target: EventTarget): boolean;
|
53
|
+
onDragUpdate(pointer: Pointer): void;
|
54
|
+
onDragEnd(): void;
|
55
|
+
onDragCancel(): void;
|
56
|
+
scrollTo(): Promise<void>;
|
57
|
+
deleteSelectedObjects(): Command;
|
58
|
+
duplicateSelectedObjects(): Promise<Command>;
|
59
|
+
addTo(elem: HTMLElement): void;
|
60
|
+
setToPoint(point: Point2): void;
|
61
|
+
cancelSelection(): void;
|
62
|
+
setSelectedObjects(objects: AbstractComponent[], bbox: Rect2): void;
|
63
|
+
getSelectedObjects(): AbstractComponent[];
|
64
|
+
}
|
package/dist/{src/tools/SelectionTool/Selection.js → mjs/src/tools/SelectionTool/Selection.mjs}
RENAMED
@@ -12,18 +12,18 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
12
12
|
});
|
13
13
|
};
|
14
14
|
var _a;
|
15
|
-
import
|
16
|
-
import
|
17
|
-
import
|
18
|
-
import
|
19
|
-
import
|
20
|
-
import
|
21
|
-
import
|
22
|
-
import
|
23
|
-
import
|
24
|
-
import
|
25
|
-
import
|
26
|
-
import
|
15
|
+
import SerializableCommand from '../../commands/SerializableCommand.mjs';
|
16
|
+
import Mat33 from '../../math/Mat33.mjs';
|
17
|
+
import Rect2 from '../../math/Rect2.mjs';
|
18
|
+
import { Vec2 } from '../../math/Vec2.mjs';
|
19
|
+
import SelectionHandle, { HandleShape, handleSize } from './SelectionHandle.mjs';
|
20
|
+
import { cssPrefix } from './SelectionTool.mjs';
|
21
|
+
import Viewport from '../../Viewport.mjs';
|
22
|
+
import Erase from '../../commands/Erase.mjs';
|
23
|
+
import Duplicate from '../../commands/Duplicate.mjs';
|
24
|
+
import { DragTransformer, ResizeTransformer, RotateTransformer } from './TransformMode.mjs';
|
25
|
+
import { ResizeMode } from './types.mjs';
|
26
|
+
import EditorImage from '../../EditorImage.mjs';
|
27
27
|
const updateChunkSize = 100;
|
28
28
|
const maxPreviewElemCount = 500;
|
29
29
|
// @internal
|
@@ -0,0 +1,38 @@
|
|
1
|
+
import { Point2, Vec2 } from '../../math/Vec2';
|
2
|
+
import Selection from './Selection';
|
3
|
+
import Pointer from '../../Pointer';
|
4
|
+
export declare enum HandleShape {
|
5
|
+
Circle = 0,
|
6
|
+
Square = 1
|
7
|
+
}
|
8
|
+
export declare const handleSize = 30;
|
9
|
+
export type DragStartCallback = (startPoint: Point2) => void;
|
10
|
+
export type DragUpdateCallback = (canvasPoint: Point2) => void;
|
11
|
+
export type DragEndCallback = () => void;
|
12
|
+
export default class SelectionHandle {
|
13
|
+
readonly shape: HandleShape;
|
14
|
+
private readonly parentSide;
|
15
|
+
private readonly parent;
|
16
|
+
private readonly onDragStart;
|
17
|
+
private readonly onDragUpdate;
|
18
|
+
private readonly onDragEnd;
|
19
|
+
private element;
|
20
|
+
private snapToGrid;
|
21
|
+
constructor(shape: HandleShape, parentSide: Vec2, parent: Selection, onDragStart: DragStartCallback, onDragUpdate: DragUpdateCallback, onDragEnd: DragEndCallback);
|
22
|
+
/**
|
23
|
+
* Adds this to `container`, where `conatiner` should be the background/selection
|
24
|
+
* element visible on the screen.
|
25
|
+
*/
|
26
|
+
addTo(container: HTMLElement): void;
|
27
|
+
updatePosition(): void;
|
28
|
+
/**
|
29
|
+
* @returns `true` if the given `EventTarget` matches this.
|
30
|
+
*/
|
31
|
+
isTarget(target: EventTarget): boolean;
|
32
|
+
private dragLastPos;
|
33
|
+
handleDragStart(pointer: Pointer): void;
|
34
|
+
handleDragUpdate(pointer: Pointer): void;
|
35
|
+
handleDragEnd(): void;
|
36
|
+
setSnapToGrid(snap: boolean): void;
|
37
|
+
isSnappingToGrid(): boolean;
|
38
|
+
}
|