@@ -182,20 +182,13 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
182
182
device_pixel_ratio,
183
183
} = context;
184
184
185
- let selected_nodes_bounding_box_viewport = self . network_interface . selected_nodes_bounding_box_viewport ( & self . breadcrumb_network_path ) ;
186
- let selected_visible_layers_bounding_box_viewport = self . selected_visible_layers_bounding_box_viewport ( ) ;
187
185
match message {
188
186
// Sub-messages
189
187
DocumentMessage :: Navigation ( message) => {
190
188
let context = NavigationMessageContext {
191
189
network_interface : & mut self . network_interface ,
192
190
breadcrumb_network_path : & self . breadcrumb_network_path ,
193
191
ipp,
194
- selection_bounds : if self . graph_view_overlay_open {
195
- selected_nodes_bounding_box_viewport
196
- } else {
197
- selected_visible_layers_bounding_box_viewport
198
- } ,
199
192
document_ptz : & mut self . document_ptz ,
200
193
graph_view_overlay_open : self . graph_view_overlay_open ,
201
194
preferences,
@@ -259,7 +252,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
259
252
AlignAxis :: X => DVec2 :: X ,
260
253
AlignAxis :: Y => DVec2 :: Y ,
261
254
} ;
262
- let Some ( combined_box) = self . selected_visible_layers_bounding_box_viewport ( ) else {
255
+ let Some ( combined_box) = self . network_interface . selected_layers_artwork_bounding_box_viewport ( ) else {
263
256
return ;
264
257
} ;
265
258
@@ -486,7 +479,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
486
479
FlipAxis :: X => DVec2 :: new ( -1. , 1. ) ,
487
480
FlipAxis :: Y => DVec2 :: new ( 1. , -1. ) ,
488
481
} ;
489
- if let Some ( [ min, max] ) = self . selected_visible_and_unlock_layers_bounding_box_viewport ( ) {
482
+ if let Some ( [ min, max] ) = self . network_interface . selected_unlocked_layers_bounding_box_viewport ( ) {
490
483
let center = ( max + min) / 2. ;
491
484
let bbox_trans = DAffine2 :: from_translation ( -center) ;
492
485
let mut added_transaction = false ;
@@ -506,7 +499,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
506
499
}
507
500
DocumentMessage :: RotateSelectedLayers { degrees } => {
508
501
// Get the bounding box of selected layers in viewport space
509
- if let Some ( [ min, max] ) = self . selected_visible_and_unlock_layers_bounding_box_viewport ( ) {
502
+ if let Some ( [ min, max] ) = self . network_interface . selected_unlocked_layers_bounding_box_viewport ( ) {
510
503
// Calculate the center of the bounding box to use as rotation pivot
511
504
let center = ( max + min) / 2. ;
512
505
// Transform that moves pivot point to origin
@@ -1063,13 +1056,13 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
1063
1056
self . selected_layers_reorder ( relative_index_offset, responses) ;
1064
1057
}
1065
1058
DocumentMessage :: ClipLayer { id } => {
1066
- let layer = LayerNodeIdentifier :: new ( id, & self . network_interface , & [ ] ) ;
1059
+ let layer = LayerNodeIdentifier :: new ( id, & self . network_interface ) ;
1067
1060
1068
1061
responses. add ( DocumentMessage :: AddTransaction ) ;
1069
1062
responses. add ( GraphOperationMessage :: ClipModeToggle { layer } ) ;
1070
1063
}
1071
1064
DocumentMessage :: SelectLayer { id, ctrl, shift } => {
1072
- let layer = LayerNodeIdentifier :: new ( id, & self . network_interface , & [ ] ) ;
1065
+ let layer = LayerNodeIdentifier :: new ( id, & self . network_interface ) ;
1073
1066
1074
1067
let mut nodes = vec ! [ ] ;
1075
1068
@@ -1266,7 +1259,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
1266
1259
responses. add ( OverlaysMessage :: Draw ) ;
1267
1260
}
1268
1261
DocumentMessage :: ToggleLayerExpansion { id, recursive } => {
1269
- let layer = LayerNodeIdentifier :: new ( id, & self . network_interface , & [ ] ) ;
1262
+ let layer = LayerNodeIdentifier :: new ( id, & self . network_interface ) ;
1270
1263
let metadata = self . metadata ( ) ;
1271
1264
1272
1265
let is_collapsed = self . collapsed . 0 . contains ( & layer) ;
@@ -1323,7 +1316,7 @@ impl MessageHandler<DocumentMessage, DocumentMessageContext<'_>> for DocumentMes
1323
1316
self . network_interface . document_network ( ) . nodes . contains_key ( node_id) )
1324
1317
. filter_map ( |( node_id, click_targets) | {
1325
1318
self . network_interface . is_layer ( & node_id, & [ ] ) . then ( || {
1326
- let layer = LayerNodeIdentifier :: new ( node_id, & self . network_interface , & [ ] ) ;
1319
+ let layer = LayerNodeIdentifier :: new ( node_id, & self . network_interface ) ;
1327
1320
( layer, click_targets)
1328
1321
} )
1329
1322
} )
@@ -1708,31 +1701,6 @@ impl DocumentMessageHandler {
1708
1701
. last ( )
1709
1702
}
1710
1703
1711
- /// Get the combined bounding box of the click targets of the selected visible layers in viewport space
1712
- pub fn selected_visible_layers_bounding_box_viewport ( & self ) -> Option < [ DVec2 ; 2 ] > {
1713
- self . network_interface
1714
- . selected_nodes ( )
1715
- . selected_visible_layers ( & self . network_interface )
1716
- . filter_map ( |layer| self . metadata ( ) . bounding_box_viewport ( layer) )
1717
- . reduce ( graphene_std:: renderer:: Quad :: combine_bounds)
1718
- }
1719
-
1720
- pub fn selected_visible_and_unlock_layers_bounding_box_viewport ( & self ) -> Option < [ DVec2 ; 2 ] > {
1721
- self . network_interface
1722
- . selected_nodes ( )
1723
- . selected_visible_and_unlocked_layers ( & self . network_interface )
1724
- . filter_map ( |layer| self . metadata ( ) . bounding_box_viewport ( layer) )
1725
- . reduce ( graphene_std:: renderer:: Quad :: combine_bounds)
1726
- }
1727
-
1728
- pub fn selected_visible_and_unlock_layers_bounding_box_document ( & self ) -> Option < [ DVec2 ; 2 ] > {
1729
- self . network_interface
1730
- . selected_nodes ( )
1731
- . selected_visible_and_unlocked_layers ( & self . network_interface )
1732
- . map ( |layer| self . metadata ( ) . nonzero_bounding_box ( layer) )
1733
- . reduce ( graphene_std:: renderer:: Quad :: combine_bounds)
1734
- }
1735
-
1736
1704
pub fn document_network ( & self ) -> & NodeNetwork {
1737
1705
self . network_interface . document_network ( )
1738
1706
}
0 commit comments