Releases: aautar/graphpaper
Fix AccessibleRoutingPointsFinder's treatment of entities where routing around is not allowed
- Add
PointSet.contains()method - Fix to
AccessibleRoutingPointsFinder.find(). Entities withisRoutingAroundBoundingRectAllowed == falseare not treated as occluders
Entity methods to set/get routing behavior relative to bounding rectangle
- Added
Entity.setRoutingAroundBoundingRect()to set if routing around the bounding rectangle of theEntityis allowed (default istrue) - Added
Entity.isRoutingAroundBoundingRectAllowed()to check if routing around the bounding rectangle of theEntityis allowed
Fix to perform snap-to-grid for entities translated via GroupEncapsulationEntity
v43.2.5 fix to perform snap-to-grid for entities translated via GroupEncapsul…
Fix to remove wrapped export for CJS dist
v43.2.4 remove wrapped export for CJS dist
Fix main entry point in package.json exports object
v43.2.3 fix main entry point in package.json exports object
Create cjs and esm dist files
Merge pull request #51 from aautar/dist-esm-cjs cjs and esm module dist files
Optimize dragging and resizing of entities
Refactor DragContext and ResizeContext, and their use, such that the Entity being transformed is stored in the context, instead of the Entity ID. This avoids a lookup-by-ID for the Entity when transforming the Entity in drag and resize handlers.
Support FROM_HANDLE_SELECTION_START translation mode on Entity
- Allow setting
EntityTranslationMode.FROM_HANDLE_CENTER(default) orEntityTranslationMode.FROM_HANDLE_SELECTION_STARTon entities viaEntity.setTranslationMode() - Get translation mode on Entity via
Entity.getTranslationMode()
EntityTranslationMode.FROM_HANDLE_SELECTION_START indicates translations, when dragging, are relative to where the selection starts (e.g. where the pointer is).
EntityTranslationMode.FROM_HANDLE_CENTER (the current and the default) indicates translations, when dragging, are anchored to the center of the selected translation handle.
A side effect of EntityTranslationMode.FROM_HANDLE_CENTER is that, when dragging starts, the Entity will instantly be re-positioned such that the selected translation handle is centered where the mouse pointer (or touch point) is. This can be visually jarring with large entities. EntityTranslationMode.FROM_HANDLE_SELECTION_START does not re-position the Entity relative to the selected translation handle.
Add GroupEncapsulationEntity methods
New methods for GroupEncapsulationEntity
- Added
GroupEncapsulationEntity.getEncapsulatedEntities() - Added
GroupEncapsulationEntity.getBoundingRect()
Redesign mechanism for multi-entity transformations
- Removed
GroupTransformationContainerand related constructs - Introduced GroupEncapsulationEntity as mechanism to encapsulate and transform multiple entities