@@ -4,7 +4,7 @@ use super::{
44} ;
55use crate :: error:: Error ;
66use dmi:: { dirs:: Dirs , icon:: IconState } ;
7- use image:: { imageops, DynamicImage , Rgba , RgbaImage } ;
7+ use image:: { imageops, Rgba , RgbaImage } ;
88use ordered_float:: OrderedFloat ;
99use rayon:: {
1010 iter:: { IndexedParallelIterator , IntoParallelIterator , ParallelIterator } ,
@@ -95,7 +95,7 @@ pub fn crop(image: &mut RgbaImage, x1: i32, y1: i32, x2: i32, y2: i32) {
9595 height_inc += y1. unsigned_abs ( ) ;
9696 y1 = 0 ;
9797 }
98- let mut blank_img: image :: ImageBuffer < image :: Rgba < u8 > , Vec < u8 > > =
98+ let mut blank_img: RgbaImage =
9999 RgbaImage :: from_fn ( i_width + width_inc, i_height + height_inc, |_x, _y| {
100100 image:: Rgba ( [ 0 , 0 , 0 , 0 ] )
101101 } ) ;
@@ -571,26 +571,26 @@ pub fn blend_images_other_universal(
571571 ) ) ) ;
572572 }
573573 }
574- let images_out: Vec < DynamicImage > = if images_other. len ( ) == 1 {
574+ let images_out: Vec < RgbaImage > = if images_other. len ( ) == 1 {
575575 // This is useful in the case where the something with 4+ dirs blends with 1dir
576- let first_image = images_other. first ( ) . unwrap ( ) . clone ( ) . into_rgba8 ( ) ;
576+ let first_image = images_other. first ( ) . unwrap ( ) . clone ( ) ;
577577 images
578578 . into_par_iter ( )
579579 . map ( |image| {
580580 zone ! ( "blend_image_other_simple" ) ;
581- let mut new_image = image. clone ( ) . into_rgba8 ( ) ;
581+ let mut new_image = image. clone ( ) ;
582582 blend_icon ( & mut new_image, & first_image, blend_mode, position) ;
583- DynamicImage :: ImageRgba8 ( new_image)
583+ new_image
584584 } )
585585 . collect ( )
586586 } else {
587587 ( images, images_other)
588588 . into_par_iter ( )
589589 . map ( |( image, image2) | {
590590 zone ! ( "blend_image_other" ) ;
591- let mut new_image = image. clone ( ) . into_rgba8 ( ) ;
592- blend_icon ( & mut new_image, & image2. into_rgba8 ( ) , blend_mode, position) ;
593- DynamicImage :: ImageRgba8 ( new_image)
591+ let mut new_image = image. clone ( ) ;
592+ blend_icon ( & mut new_image, & image2, blend_mode, position) ;
593+ new_image
594594 } )
595595 . collect ( )
596596 } ;
@@ -611,12 +611,12 @@ pub fn blend_images_other_universal(
611611/// Blends a set of images with another set of images.
612612/// The frame and dir counts of first_matched_state are mutated to match the new icon.
613613pub fn blend_images_other (
614- images : Vec < DynamicImage > ,
615- images_other : Vec < DynamicImage > ,
614+ images : Vec < RgbaImage > ,
615+ images_other : Vec < RgbaImage > ,
616616 blend_mode : & blending:: BlendMode ,
617617 first_matched_state : & mut Option < IconState > ,
618618 last_matched_state : & mut Option < IconState > ,
619- ) -> Result < Vec < DynamicImage > , Error > {
619+ ) -> Result < Vec < RgbaImage > , Error > {
620620 zone ! ( "blend_images_other" ) ;
621621 let base_icon_state = match first_matched_state {
622622 Some ( state) => state,
@@ -709,26 +709,26 @@ pub fn blend_images_other(
709709 ) ) ) ;
710710 }
711711 }
712- let images_out: Vec < DynamicImage > = if images_other. len ( ) == 1 {
712+ let images_out: Vec < RgbaImage > = if images_other. len ( ) == 1 {
713713 // This is useful in the case where the something with 4+ dirs blends with 1dir
714- let first_image = images_other. first ( ) . unwrap ( ) . clone ( ) . into_rgba8 ( ) ;
714+ let first_image = images_other. first ( ) . unwrap ( ) . clone ( ) ;
715715 images
716716 . into_par_iter ( )
717717 . map ( |image| {
718718 zone ! ( "blend_image_other_simple" ) ;
719- let mut new_image = image. clone ( ) . into_rgba8 ( ) ;
719+ let mut new_image = image. clone ( ) ;
720720 blend_icon ( & mut new_image, & first_image, blend_mode, None ) ;
721- DynamicImage :: ImageRgba8 ( new_image)
721+ new_image
722722 } )
723723 . collect ( )
724724 } else {
725725 ( images, images_other)
726726 . into_par_iter ( )
727727 . map ( |( image, image2) | {
728728 zone ! ( "blend_image_other" ) ;
729- let mut new_image = image. clone ( ) . into_rgba8 ( ) ;
730- blend_icon ( & mut new_image, & image2. into_rgba8 ( ) , blend_mode, None ) ;
731- DynamicImage :: ImageRgba8 ( new_image)
729+ let mut new_image = image. clone ( ) ;
730+ blend_icon ( & mut new_image, & image2, blend_mode, None ) ;
731+ new_image
732732 } )
733733 . collect ( )
734734 } ;
@@ -747,7 +747,7 @@ impl Transform {
747747 flatten : bool ,
748748 ) -> Result < UniversalIconData , String > {
749749 zone ! ( "transform_apply" ) ;
750- let images: Vec < DynamicImage > ;
750+ let images: Vec < RgbaImage > ;
751751 let mut frames = image_data. frames ;
752752 let mut dirs = image_data. dirs ;
753753 let mut delay = image_data. delay . to_owned ( ) ;
0 commit comments