@@ -650,16 +650,18 @@ impl Fsm for SelectToolFsmState {
650
650
651
651
let is_resizing_or_rotating = matches ! ( self , SelectToolFsmState :: ResizingBounds | SelectToolFsmState :: SkewingBounds { .. } | SelectToolFsmState :: RotatingBounds ) ;
652
652
653
- if let Some ( bounds) = tool_data. bounding_box_manager . as_mut ( ) {
654
- let edges = bounds. check_selected_edges ( input. mouse . position ) ;
655
- let is_skewing = matches ! ( self , SelectToolFsmState :: SkewingBounds { .. } ) ;
656
- let is_near_square = edges. is_some_and ( |hover_edge| bounds. over_extended_edge_midpoint ( input. mouse . position , hover_edge) ) ;
657
- if is_skewing || ( dragging_bounds && is_near_square && !is_resizing_or_rotating) {
658
- bounds. render_skew_gizmos ( & mut overlay_context, tool_data. skew_edge ) ;
659
- }
660
- if !is_skewing && dragging_bounds {
661
- if let Some ( edges) = edges {
662
- tool_data. skew_edge = bounds. get_closest_edge ( edges, input. mouse . position ) ;
653
+ if overlay_context. visibility_settings . transform_cage ( ) && bounds. is_some ( ) {
654
+ if let Some ( bounds) = tool_data. bounding_box_manager . as_mut ( ) {
655
+ let edges = bounds. check_selected_edges ( input. mouse . position ) ;
656
+ let is_skewing = matches ! ( self , SelectToolFsmState :: SkewingBounds { .. } ) ;
657
+ let is_near_square = edges. is_some_and ( |hover_edge| bounds. over_extended_edge_midpoint ( input. mouse . position , hover_edge) ) ;
658
+ if is_skewing || ( dragging_bounds && is_near_square && !is_resizing_or_rotating) {
659
+ bounds. render_skew_gizmos ( & mut overlay_context, tool_data. skew_edge ) ;
660
+ }
661
+ if !is_skewing && dragging_bounds {
662
+ if let Some ( edges) = edges {
663
+ tool_data. skew_edge = bounds. get_closest_edge ( edges, input. mouse . position ) ;
664
+ }
663
665
}
664
666
}
665
667
}
0 commit comments