diff options
author | 2023-11-11 07:02:01 +0100 | |
---|---|---|
committer | 2023-11-11 07:22:51 +0100 | |
commit | a5125d6fea824df1191777fe3eb53a2f748208b9 (patch) | |
tree | 4c854e4367af13bf02ae0e052a28a95f79437f3a /tiny_skia/src/backend.rs | |
parent | 75c9afc608a4a9ff44d60a8fb6f4a5819f05bf79 (diff) | |
download | iced-a5125d6fea824df1191777fe3eb53a2f748208b9.tar.gz iced-a5125d6fea824df1191777fe3eb53a2f748208b9.tar.bz2 iced-a5125d6fea824df1191777fe3eb53a2f748208b9.zip |
Refactor texture image filtering
- Support only `Linear` or `Nearest`
- Simplify `Layer` groups
- Move `FilterMethod` to `Image` and `image::Viewer`
Diffstat (limited to 'tiny_skia/src/backend.rs')
-rw-r--r-- | tiny_skia/src/backend.rs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/tiny_skia/src/backend.rs b/tiny_skia/src/backend.rs index 3c6fe288..f2905b00 100644 --- a/tiny_skia/src/backend.rs +++ b/tiny_skia/src/backend.rs @@ -445,7 +445,11 @@ impl Backend { ); } #[cfg(feature = "image")] - Primitive::Image { handle, bounds } => { + Primitive::Image { + handle, + filter_method, + bounds, + } => { let physical_bounds = (*bounds + translation) * scale_factor; if !clip_bounds.intersects(&physical_bounds) { @@ -461,8 +465,14 @@ impl Backend { ) .post_scale(scale_factor, scale_factor); - self.raster_pipeline - .draw(handle, *bounds, pixels, transform, clip_mask); + self.raster_pipeline.draw( + handle, + *filter_method, + *bounds, + pixels, + transform, + clip_mask, + ); } #[cfg(not(feature = "image"))] Primitive::Image { .. } => { |