@@ -123,29 +123,29 @@ export function makeScreenshotEditorComponent({ h, imageBuffer, dialog }: Factor
123
123
case 'topleft' :
124
124
setCroppingRect ( prev => ( {
125
125
...prev ,
126
- startx : e . offsetX ,
127
- starty : e . offsetY ,
126
+ startx : Math . min ( e . offsetX , prev . endx - 30 ) ,
127
+ starty : Math . min ( e . offsetY , prev . endy - 30 ) ,
128
128
} ) ) ;
129
129
break ;
130
130
case 'topright' :
131
131
setCroppingRect ( prev => ( {
132
132
...prev ,
133
- endx : e . offsetX ,
134
- starty : e . offsetY ,
133
+ endx : Math . max ( e . offsetX , prev . startx + 30 ) ,
134
+ starty : Math . min ( e . offsetY , prev . endy - 30 ) ,
135
135
} ) ) ;
136
136
break ;
137
137
case 'bottomleft' :
138
138
setCroppingRect ( prev => ( {
139
139
...prev ,
140
- startx : e . offsetX ,
141
- endy : e . offsetY ,
140
+ startx : Math . min ( e . offsetX , prev . endx - 30 ) ,
141
+ endy : Math . max ( e . offsetY , prev . starty + 30 ) ,
142
142
} ) ) ;
143
143
break ;
144
144
case 'bottomright' :
145
145
setCroppingRect ( prev => ( {
146
146
...prev ,
147
- endx : e . offsetX ,
148
- endy : e . offsetY ,
147
+ endx : Math . max ( e . offsetX , prev . startx + 30 ) ,
148
+ endy : Math . max ( e . offsetY , prev . starty + 30 ) ,
149
149
} ) ) ;
150
150
break ;
151
151
}
@@ -258,8 +258,8 @@ export function makeScreenshotEditorComponent({ h, imageBuffer, dialog }: Factor
258
258
< div
259
259
style = { {
260
260
position : 'absolute' ,
261
- left : croppingRect . endx - 191 ,
262
- top : croppingRect . endy + 8 ,
261
+ left : Math . max ( 0 , croppingRect . endx - 191 ) ,
262
+ top : Math . max ( 0 , croppingRect . endy + 8 ) ,
263
263
display : confirmCrop ? 'flex' : 'none' ,
264
264
} }
265
265
class = "crop-btn-group"
0 commit comments