@@ -28,6 +28,7 @@ impl LayerData {
2828 scale : 1. ,
2929 }
3030 }
31+
3132 pub fn snapped_angle ( & self ) -> f64 {
3233 let increment_radians: f64 = ROTATE_SNAP_INTERVAL . to_radians ( ) ;
3334 if self . snap_rotate {
@@ -36,7 +37,9 @@ impl LayerData {
3637 self . rotation
3738 }
3839 }
40+
3941 pub fn calculate_offset_transform ( & self , offset : DVec2 ) -> DAffine2 {
42+ // TODO: replace with DAffine2::from_scale_angle_translation and fix the errors
4043 let offset_transform = DAffine2 :: from_translation ( offset) ;
4144 let scale_transform = DAffine2 :: from_scale ( DVec2 :: new ( self . scale , self . scale ) ) ;
4245 let angle_transform = DAffine2 :: from_angle ( self . snapped_angle ( ) ) ;
@@ -53,8 +56,6 @@ pub fn layer_data<'a>(layer_data: &'a mut HashMap<Vec<LayerId>, LayerData>, path
5356}
5457
5558pub fn layer_panel_entry ( layer_data : & LayerData , transform : DAffine2 , layer : & Layer , path : Vec < LayerId > ) -> LayerPanelEntry {
56- let blend_mode = layer. blend_mode ;
57- let opacity = layer. opacity ;
5859 let layer_type: LayerType = ( & layer. data ) . into ( ) ;
5960 let name = layer. name . clone ( ) . unwrap_or_else ( || format ! ( "Unnamed {}" , layer_type) ) ;
6061 let arr = layer. data . bounding_box ( transform) . unwrap_or ( [ DVec2 :: ZERO , DVec2 :: ZERO ] ) ;
@@ -79,9 +80,9 @@ pub fn layer_panel_entry(layer_data: &LayerData, transform: DAffine2, layer: &La
7980 LayerPanelEntry {
8081 name,
8182 visible : layer. visible ,
82- blend_mode,
83- opacity,
84- layer_type,
83+ blend_mode : layer . blend_mode ,
84+ opacity : layer . opacity ,
85+ layer_type : ( & layer . data ) . into ( ) ,
8586 layer_data : * layer_data,
8687 path,
8788 thumbnail,
0 commit comments