11import { Vector } from '../core' ;
22import { ViewportController } from '../designer-extension' ;
3+ import { DesignerState } from '../designer-state' ;
34import { ViewportAnimator } from '../workspace/viewport/viewport-animator' ;
45import { ZoomByWheelCalculator } from '../workspace/viewport/zoom-by-wheel-calculator' ;
56import { WorkspaceControllerWrapper } from '../workspace/workspace-controller' ;
6- import { WorkspaceApi } from './workspace-api' ;
77
88export class ViewportApi {
9- private readonly animator = new ViewportAnimator ( this . api ) ;
9+ private readonly animator = new ViewportAnimator ( this . state ) ;
1010
1111 public constructor (
12+ private readonly state : DesignerState ,
1213 private readonly workspaceController : WorkspaceControllerWrapper ,
13- private readonly viewportController : ViewportController ,
14- private readonly api : WorkspaceApi
14+ private readonly viewportController : ViewportController
1515 ) { }
1616
1717 public limitScale ( scale : number ) : number {
@@ -20,13 +20,13 @@ export class ViewportApi {
2020
2121 public resetViewport ( ) {
2222 const defaultViewport = this . viewportController . getDefault ( ) ;
23- this . api . setViewport ( defaultViewport ) ;
23+ this . state . setViewport ( defaultViewport ) ;
2424 }
2525
2626 public zoom ( direction : boolean ) {
2727 const viewport = this . viewportController . getZoomed ( direction ) ;
2828 if ( viewport ) {
29- this . api . setViewport ( viewport ) ;
29+ this . state . setViewport ( viewport ) ;
3030 }
3131 }
3232
@@ -43,12 +43,11 @@ export class ViewportApi {
4343 }
4444
4545 public handleWheelEvent ( e : WheelEvent ) {
46- const viewport = this . api . getViewport ( ) ;
47- const canvasPosition = this . api . getCanvasPosition ( ) ;
46+ const canvasPosition = this . workspaceController . getCanvasPosition ( ) ;
4847
49- const newViewport = ZoomByWheelCalculator . calculate ( this . viewportController , viewport , canvasPosition , e ) ;
48+ const newViewport = ZoomByWheelCalculator . calculate ( this . viewportController , this . state . viewport , canvasPosition , e ) ;
5049 if ( newViewport ) {
51- this . api . setViewport ( newViewport ) ;
50+ this . state . setViewport ( newViewport ) ;
5251 }
5352 }
5453}
0 commit comments