diff options
Diffstat (limited to 'src/views/freeformcanvas/FreeFormCanvas.tsx')
-rw-r--r-- | src/views/freeformcanvas/FreeFormCanvas.tsx | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/src/views/freeformcanvas/FreeFormCanvas.tsx b/src/views/freeformcanvas/FreeFormCanvas.tsx index f02f677a3..d25341cbb 100644 --- a/src/views/freeformcanvas/FreeFormCanvas.tsx +++ b/src/views/freeformcanvas/FreeFormCanvas.tsx @@ -41,11 +41,19 @@ export class FreeFormCanvas extends React.Component<IProps> { this.props.store.Y += e.movementY; } + onPointerWheel = (e: React.WheelEvent): void => { + e.stopPropagation(); + e.preventDefault(); + + let scaleAmount = 1 - (e.deltaY / 1000); + this.props.store.Scale *= scaleAmount; + } + render() { let store = this.props.store; return ( - <div className="freeformcanvas-container" onPointerDown={this.onPointerDown}> - <div className="freeformcanvas" style={{ transform: store.Transform }}> + <div className="freeformcanvas-container" onPointerDown={this.onPointerDown} onWheel={this.onPointerWheel}> + <div className="freeformcanvas" style={{ transform: store.Transform, transformOrigin: '50% 50%' }}> <NodeContainer store={store} /> </div> </div> |