summaryrefslogtreecommitdiffstats
path: root/widget/src/image/viewer.rs
diff options
context:
space:
mode:
Diffstat (limited to 'widget/src/image/viewer.rs')
-rw-r--r--widget/src/image/viewer.rs29
1 files changed, 16 insertions, 13 deletions
diff --git a/widget/src/image/viewer.rs b/widget/src/image/viewer.rs
index 9666ff9f..0006f978 100644
--- a/widget/src/image/viewer.rs
+++ b/widget/src/image/viewer.rs
@@ -7,7 +7,7 @@ use crate::core::renderer;
use crate::core::widget::tree::{self, Tree};
use crate::core::{
Clipboard, Element, Layout, Length, Pixels, Point, Rectangle, Shell, Size,
- Vector, Widget,
+ Transformation, Vector, Widget,
};
use std::hash::Hash;
@@ -328,18 +328,21 @@ where
};
renderer.with_layer(bounds, |renderer| {
- renderer.with_translation(translation, |renderer| {
- image::Renderer::draw(
- renderer,
- self.handle.clone(),
- self.filter_method,
- Rectangle {
- x: bounds.x,
- y: bounds.y,
- ..Rectangle::with_size(image_size)
- },
- );
- });
+ renderer.with_transformation(
+ Transformation::translate(translation.x, translation.y),
+ |renderer| {
+ image::Renderer::draw(
+ renderer,
+ self.handle.clone(),
+ self.filter_method,
+ Rectangle {
+ x: bounds.x,
+ y: bounds.y,
+ ..Rectangle::with_size(image_size)
+ },
+ );
+ },
+ );
});
}
}