@@ -301,8 +301,9 @@ export class CanvasBrushToolModule extends CanvasModuleBase {
301
301
points,
302
302
strokeWidth : settings . brushWidth ,
303
303
color : this . manager . stateApi . getCurrentColor ( ) ,
304
- // When shift is held, the line may extend beyond the clip region. No clip for these lines.
305
- clip : isShiftDraw ? null : this . parent . getClip ( selectedEntity . state ) ,
304
+ // When shift is held, the line may extend beyond the clip region. Clip only if we are clipping to bbox. If we
305
+ // are clipping to stage, we don't need to clip at all.
306
+ clip : isShiftDraw && ! settings . clipToBbox ? null : this . parent . getClip ( selectedEntity . state ) ,
306
307
} ) ;
307
308
} else {
308
309
const lastLinePoint = getLastPointOfLastLine ( selectedEntity . state . objects , 'brush_line' ) ;
@@ -325,8 +326,9 @@ export class CanvasBrushToolModule extends CanvasModuleBase {
325
326
points,
326
327
strokeWidth : settings . brushWidth ,
327
328
color : this . manager . stateApi . getCurrentColor ( ) ,
328
- // When shift is held, the line may extend beyond the clip region. No clip for these lines.
329
- clip : isShiftDraw ? null : this . parent . getClip ( selectedEntity . state ) ,
329
+ // When shift is held, the line may extend beyond the clip region. Clip only if we are clipping to bbox. If we
330
+ // are clipping to stage, we don't need to clip at all.
331
+ clip : isShiftDraw && ! settings . clipToBbox ? null : this . parent . getClip ( selectedEntity . state ) ,
330
332
} ) ;
331
333
}
332
334
} ;
0 commit comments