js-draw 0.3.2 → 0.4.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.
Files changed (73) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/README.md +1 -3
  3. package/dist/bundle.js +1 -1
  4. package/dist/src/Editor.d.ts +11 -0
  5. package/dist/src/Editor.js +104 -76
  6. package/dist/src/Pointer.d.ts +1 -1
  7. package/dist/src/Pointer.js +8 -3
  8. package/dist/src/Viewport.d.ts +1 -0
  9. package/dist/src/Viewport.js +14 -1
  10. package/dist/src/components/ImageComponent.d.ts +2 -2
  11. package/dist/src/language/assertions.d.ts +1 -0
  12. package/dist/src/language/assertions.js +5 -0
  13. package/dist/src/math/Mat33.d.ts +38 -2
  14. package/dist/src/math/Mat33.js +30 -1
  15. package/dist/src/math/Path.d.ts +1 -1
  16. package/dist/src/math/Path.js +10 -8
  17. package/dist/src/math/Vec3.d.ts +11 -1
  18. package/dist/src/math/Vec3.js +15 -0
  19. package/dist/src/math/rounding.d.ts +1 -0
  20. package/dist/src/math/rounding.js +13 -6
  21. package/dist/src/rendering/renderers/AbstractRenderer.js +2 -1
  22. package/dist/src/toolbar/HTMLToolbar.js +5 -4
  23. package/dist/src/toolbar/widgets/SelectionToolWidget.d.ts +1 -1
  24. package/dist/src/tools/PasteHandler.js +3 -1
  25. package/dist/src/tools/Pen.js +1 -1
  26. package/dist/src/tools/SelectionTool/Selection.d.ts +54 -0
  27. package/dist/src/tools/SelectionTool/Selection.js +337 -0
  28. package/dist/src/tools/SelectionTool/SelectionHandle.d.ts +35 -0
  29. package/dist/src/tools/SelectionTool/SelectionHandle.js +75 -0
  30. package/dist/src/tools/SelectionTool/SelectionTool.d.ts +31 -0
  31. package/dist/src/tools/SelectionTool/SelectionTool.js +276 -0
  32. package/dist/src/tools/SelectionTool/TransformMode.d.ts +34 -0
  33. package/dist/src/tools/SelectionTool/TransformMode.js +98 -0
  34. package/dist/src/tools/SelectionTool/types.d.ts +9 -0
  35. package/dist/src/tools/SelectionTool/types.js +11 -0
  36. package/dist/src/tools/ToolController.js +1 -1
  37. package/dist/src/tools/lib.d.ts +1 -1
  38. package/dist/src/tools/lib.js +1 -1
  39. package/dist/src/types.d.ts +1 -1
  40. package/package.json +1 -1
  41. package/src/Editor.css +1 -0
  42. package/src/Editor.ts +145 -108
  43. package/src/Pointer.ts +8 -3
  44. package/src/Viewport.ts +17 -2
  45. package/src/components/AbstractComponent.ts +2 -6
  46. package/src/components/ImageComponent.ts +2 -6
  47. package/src/components/Text.ts +2 -6
  48. package/src/language/assertions.ts +6 -0
  49. package/src/math/Mat33.test.ts +14 -0
  50. package/src/math/Mat33.ts +43 -2
  51. package/src/math/Path.toString.test.ts +12 -1
  52. package/src/math/Path.ts +11 -9
  53. package/src/math/Vec3.ts +22 -1
  54. package/src/math/rounding.test.ts +30 -5
  55. package/src/math/rounding.ts +16 -7
  56. package/src/rendering/renderers/AbstractRenderer.ts +3 -2
  57. package/src/toolbar/HTMLToolbar.ts +5 -4
  58. package/src/toolbar/widgets/SelectionToolWidget.ts +1 -1
  59. package/src/tools/PasteHandler.ts +4 -1
  60. package/src/tools/Pen.ts +1 -1
  61. package/src/tools/SelectionTool/Selection.ts +455 -0
  62. package/src/tools/SelectionTool/SelectionHandle.ts +99 -0
  63. package/src/tools/SelectionTool/SelectionTool.css +22 -0
  64. package/src/tools/{SelectionTool.test.ts → SelectionTool/SelectionTool.test.ts} +21 -21
  65. package/src/tools/SelectionTool/SelectionTool.ts +335 -0
  66. package/src/tools/SelectionTool/TransformMode.ts +114 -0
  67. package/src/tools/SelectionTool/types.ts +11 -0
  68. package/src/tools/ToolController.ts +1 -1
  69. package/src/tools/lib.ts +1 -1
  70. package/src/types.ts +1 -1
  71. package/dist/src/tools/SelectionTool.d.ts +0 -65
  72. package/dist/src/tools/SelectionTool.js +0 -647
  73. package/src/tools/SelectionTool.ts +0 -797
@@ -1,65 +0,0 @@
1
- import Command from '../commands/Command';
2
- import AbstractComponent from '../components/AbstractComponent';
3
- import Editor from '../Editor';
4
- import Mat33 from '../math/Mat33';
5
- import Rect2 from '../math/Rect2';
6
- import { Point2, Vec2 } from '../math/Vec2';
7
- import { CopyEvent, KeyPressEvent, KeyUpEvent, PointerEvt } from '../types';
8
- import BaseTool from './BaseTool';
9
- declare class Selection {
10
- startPoint: Point2;
11
- private editor;
12
- region: Rect2;
13
- private boxRotation;
14
- private backgroundBox;
15
- private rotateCircle;
16
- private selectedElems;
17
- private transform;
18
- private transformationCommands;
19
- constructor(startPoint: Point2, editor: Editor);
20
- handleBackgroundDrag(deltaPosition: Vec2): void;
21
- handleResizeCornerDrag(deltaPosition: Vec2): void;
22
- handleRotateCircleDrag(offset: Vec2): void;
23
- private computeTransformCommands;
24
- transformPreview(transform: Mat33): void;
25
- finalizeTransform(): void;
26
- private static ApplyTransformationCommand;
27
- private previewTransformCmds;
28
- appendBackgroundBoxTo(elem: HTMLElement): void;
29
- setToPoint(point: Point2): void;
30
- cancelSelection(): void;
31
- setSelectedObjects(objects: AbstractComponent[], bbox: Rect2): void;
32
- getSelectedObjects(): AbstractComponent[];
33
- resolveToObjects(): boolean;
34
- recomputeRegion(): boolean;
35
- getMinCanvasSize(): number;
36
- private recomputeBoxRotation;
37
- getSelectedItemCount(): number;
38
- updateUI(): void;
39
- scrollTo(): void;
40
- deleteSelectedObjects(): Command;
41
- duplicateSelectedObjects(): Command;
42
- }
43
- export default class SelectionTool extends BaseTool {
44
- private editor;
45
- private handleOverlay;
46
- private prevSelectionBox;
47
- private selectionBox;
48
- constructor(editor: Editor, description: string);
49
- private makeSelectionBox;
50
- onPointerDown(event: PointerEvt): boolean;
51
- onPointerMove(event: PointerEvt): void;
52
- private onGestureEnd;
53
- private zoomToSelection;
54
- onPointerUp(event: PointerEvt): void;
55
- onGestureCancel(): void;
56
- private static handleableKeys;
57
- onKeyPress(event: KeyPressEvent): boolean;
58
- onKeyUp(evt: KeyUpEvent): boolean;
59
- onCopy(event: CopyEvent): boolean;
60
- setEnabled(enabled: boolean): void;
61
- getSelection(): Selection | null;
62
- setSelection(objects: AbstractComponent[]): void;
63
- clearSelection(): void;
64
- }
65
- export {};