@@ -247,7 +247,7 @@ pub struct RenderMetadata {
247247 pub upstream_footprints : HashMap < NodeId , Footprint > ,
248248 pub local_transforms : HashMap < NodeId , DAffine2 > ,
249249 pub first_element_source_id : HashMap < NodeId , Option < NodeId > > ,
250- pub click_targets : HashMap < NodeId , Vec < ClickTarget > > ,
250+ pub click_targets : HashMap < NodeId , Vec < Arc < ClickTarget > > > ,
251251 pub clip_targets : HashSet < NodeId > ,
252252}
253253
@@ -471,7 +471,7 @@ impl Render for Artboard {
471471 fn collect_metadata ( & self , metadata : & mut RenderMetadata , mut footprint : Footprint , element_id : Option < NodeId > ) {
472472 if let Some ( element_id) = element_id {
473473 let subpath = Subpath :: new_rectangle ( DVec2 :: ZERO , self . dimensions . as_dvec2 ( ) ) ;
474- metadata. click_targets . insert ( element_id, vec ! [ ClickTarget :: new_with_subpath( subpath, 0. ) ] ) ;
474+ metadata. click_targets . insert ( element_id, vec ! [ ClickTarget :: new_with_subpath( subpath, 0. ) . into ( ) ] ) ;
475475 metadata. upstream_footprints . insert ( element_id, footprint) ;
476476 metadata. local_transforms . insert ( element_id, DAffine2 :: from_translation ( self . location . as_dvec2 ( ) ) ) ;
477477 if self . clip {
@@ -666,7 +666,7 @@ impl Render for Table<Graphic> {
666666 all_upstream_click_targets. extend ( new_click_targets) ;
667667 }
668668
669- metadata. click_targets . insert ( element_id, all_upstream_click_targets) ;
669+ metadata. click_targets . insert ( element_id, all_upstream_click_targets. into_iter ( ) . map ( |x| x . into ( ) ) . collect ( ) ) ;
670670 }
671671 }
672672
@@ -1173,7 +1173,7 @@ impl Render for Table<Vector> {
11731173 let anchor = vector. point_domain . position_from_id ( point_id) . unwrap_or_default ( ) ;
11741174 let point = FreePoint :: new ( point_id, anchor) ;
11751175
1176- Some ( ClickTarget :: new_with_free_point ( point) )
1176+ Some ( ClickTarget :: new_with_free_point ( point) . into ( ) )
11771177 } else {
11781178 None
11791179 }
@@ -1182,9 +1182,9 @@ impl Render for Table<Vector> {
11821182 let click_targets = vector
11831183 . stroke_bezier_paths ( )
11841184 . map ( fill)
1185- . map ( |subpath| ClickTarget :: new_with_subpath ( subpath, stroke_width) )
1185+ . map ( |subpath| ClickTarget :: new_with_subpath ( subpath, stroke_width) . into ( ) )
11861186 . chain ( single_anchors_targets. into_iter ( ) )
1187- . collect :: < Vec < ClickTarget > > ( ) ;
1187+ . collect :: < Vec < _ > > ( ) ;
11881188
11891189 metadata. click_targets . entry ( element_id) . or_insert ( click_targets) ;
11901190 }
@@ -1366,7 +1366,7 @@ impl Render for Table<Raster<CPU>> {
13661366 let Some ( element_id) = element_id else { return } ;
13671367 let subpath = Subpath :: new_rectangle ( DVec2 :: ZERO , DVec2 :: ONE ) ;
13681368
1369- metadata. click_targets . insert ( element_id, vec ! [ ClickTarget :: new_with_subpath( subpath, 0. ) ] ) ;
1369+ metadata. click_targets . insert ( element_id, vec ! [ ClickTarget :: new_with_subpath( subpath, 0. ) . into ( ) ] ) ;
13701370 metadata. upstream_footprints . insert ( element_id, footprint) ;
13711371 // TODO: Find a way to handle more than one row of the raster table
13721372 if let Some ( raster) = self . iter ( ) . next ( ) {
@@ -1426,7 +1426,7 @@ impl Render for Table<Raster<GPU>> {
14261426 let Some ( element_id) = element_id else { return } ;
14271427 let subpath = Subpath :: new_rectangle ( DVec2 :: ZERO , DVec2 :: ONE ) ;
14281428
1429- metadata. click_targets . insert ( element_id, vec ! [ ClickTarget :: new_with_subpath( subpath, 0. ) ] ) ;
1429+ metadata. click_targets . insert ( element_id, vec ! [ ClickTarget :: new_with_subpath( subpath, 0. ) . into ( ) ] ) ;
14301430 metadata. upstream_footprints . insert ( element_id, footprint) ;
14311431 // TODO: Find a way to handle more than one row of the raster table
14321432 if let Some ( raster) = self . iter ( ) . next ( ) {
0 commit comments