@@ -15,6 +15,10 @@ export default function CCComponentEditorRendererBackground() {
1515 const { currentTarget } = pointerDownEvent ;
1616 const startPerspective = componentEditorState . perspective ;
1717 const startPoint = vector2 . fromDomEvent ( pointerDownEvent . nativeEvent ) ;
18+
19+ pointerDownEvent . currentTarget . setPointerCapture (
20+ pointerDownEvent . pointerId
21+ ) ;
1822 const onPointerMove = ( pointerMoveEvent : PointerEvent ) => {
1923 const endPoint = vector2 . fromDomEvent ( pointerMoveEvent ) ;
2024 componentEditorState . setPerspective ( {
@@ -23,31 +27,32 @@ export default function CCComponentEditorRendererBackground() {
2327 startPerspective . center ,
2428 vector2 . mul (
2529 vector2 . sub ( endPoint , startPoint ) ,
26- startPerspective . scale ,
27- ) ,
30+ startPerspective . scale
31+ )
2832 ) ,
2933 } ) ;
3034 } ;
31- currentTarget . addEventListener ( "pointermove" , onPointerMove ) ;
3235 const onPointerUp = ( ) => {
3336 currentTarget . removeEventListener ( "pointermove" , onPointerMove ) ;
3437 currentTarget . removeEventListener ( "pointerup" , onPointerUp ) ;
38+ pointerDownEvent . currentTarget . releasePointerCapture ( pointerDownEvent . pointerId ) ;
3539 } ;
40+ currentTarget . addEventListener ( "pointermove" , onPointerMove ) ;
3641 currentTarget . addEventListener ( "pointerup" , onPointerUp ) ;
3742 } }
3843 onWheel = { ( wheelEvent ) => {
3944 const scaleDelta = Math . exp ( wheelEvent . deltaY / 256 ) ;
4045 const scaleCenter = componentEditorState . fromCanvasToStage (
41- vector2 . fromDomEvent ( wheelEvent . nativeEvent ) ,
46+ vector2 . fromDomEvent ( wheelEvent . nativeEvent )
4247 ) ;
4348 componentEditorState . setPerspective ( {
4449 scale : componentEditorState . perspective . scale * scaleDelta ,
4550 center : vector2 . add (
4651 scaleCenter ,
4752 vector2 . mul (
4853 vector2 . sub ( componentEditorState . perspective . center , scaleCenter ) ,
49- scaleDelta ,
50- ) ,
54+ scaleDelta
55+ )
5156 ) ,
5257 } ) ;
5358 } }
0 commit comments