diff --git a/src/main.rs b/src/main.rs index dacc0ae..dee2ae1 100644 --- a/src/main.rs +++ b/src/main.rs @@ -5,7 +5,7 @@ use iced::{ keyboard::{self, Key, key}, theme, widget, window, }; -use image::{EncodableLayout, ImageReader, RgbaImage}; +use image::{EncodableLayout, ImageReader, RgbaImage, imageops}; #[derive(Clone, Debug)] enum Message { @@ -57,6 +57,15 @@ impl State { Key::Character("q") => return window::latest().and_then(window::close), + Key::Character("r") => { + self.image = imageops::rotate90(&self.image); + self.image_handle = widget::image::Handle::from_rgba( + self.image.width(), + self.image.height(), + unsafe { std::mem::transmute::<_, &'static [u8]>(self.image.as_bytes()) }, + ) + } + // ignore unused keys _ => {} },