@@ -71,6 +71,11 @@ export class Selector extends Service {
71
71
} ) ;
72
72
this . optionLayer . add ( this . rubberRect ) ;
73
73
74
+ this . transformer . on < 'transformstart' > ( 'transformstart' , this . onTransformStart ) ;
75
+ this . transformer . on < 'transformend' > ( 'transformend' , this . onTransformEnd ) ;
76
+ this . transformer . on < 'dragstart' > ( 'dragstart' , this . onDragStart ) ;
77
+ this . transformer . on < 'dragend' > ( 'dragend' , this . onDragEnd ) ;
78
+
74
79
this . app . on ( 'mouse:down' , this . onMouseDown ) ;
75
80
this . app . on ( 'mouse:move' , this . onMouseMove ) ;
76
81
this . app . on ( 'mouse:up' , this . onMouseUp ) ;
@@ -117,6 +122,22 @@ export class Selector extends Service {
117
122
return this . selected . has ( child . _id ) ;
118
123
}
119
124
125
+ private onTransformStart = ( ) : void => {
126
+ this . app . emit ( 'shape:transform:start' , { object : [ ...this . selected . values ( ) ] } ) ;
127
+ } ;
128
+
129
+ private onTransformEnd = ( ) : void => {
130
+ this . app . emit ( 'shape:transform:end' , { object : [ ...this . selected . values ( ) ] } ) ;
131
+ } ;
132
+
133
+ private onDragStart = ( ) : void => {
134
+ this . app . emit ( 'shape:transform:start' , { object : [ ...this . selected . values ( ) ] } ) ;
135
+ } ;
136
+
137
+ private onDragEnd = ( ) : void => {
138
+ this . app . emit ( 'shape:transform:end' , { object : [ ...this . selected . values ( ) ] } ) ;
139
+ } ;
140
+
120
141
private onMouseDown = ( { event } : EventArgs [ 'mouse:down' ] ) : void => {
121
142
if ( ! this . enable ) {
122
143
return ;
@@ -178,6 +199,10 @@ export class Selector extends Service {
178
199
} ;
179
200
180
201
public dispose ( ) : void {
202
+ this . transformer . off ( 'transformstart' , this . onTransformStart ) ;
203
+ this . transformer . off ( 'transformend' , this . onTransformEnd ) ;
204
+ this . transformer . off ( 'dragstart' , this . onDragStart ) ;
205
+ this . transformer . off ( 'dragend' , this . onDragEnd ) ;
181
206
this . app . off ( 'mouse:down' , this . onMouseDown ) ;
182
207
this . app . off ( 'mouse:move' , this . onMouseMove ) ;
183
208
this . app . off ( 'mouse:up' , this . onMouseUp ) ;
0 commit comments