Implement Widget::draw for Image
This commit is contained in:
parent
e7ae442231
commit
1afbc98544
3 changed files with 17 additions and 2 deletions
|
|
@ -26,6 +26,10 @@ impl<B: Backend> Renderer<B> {
|
|||
&self.backend
|
||||
}
|
||||
|
||||
pub fn draw_primitive(&mut self, primitive: Primitive) {
|
||||
self.primitives.push(primitive);
|
||||
}
|
||||
|
||||
pub fn present(&mut self, f: impl FnOnce(&mut B, &[Primitive])) {
|
||||
f(&mut self.backend, &self.primitives);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,8 +3,9 @@ pub mod viewer;
|
|||
|
||||
use crate::backend::{self, Backend};
|
||||
|
||||
use crate::Renderer;
|
||||
use crate::{Primitive, Renderer};
|
||||
use iced_native::image;
|
||||
use iced_native::Layout;
|
||||
|
||||
pub use iced_native::image::{Handle, Image, Viewer};
|
||||
|
||||
|
|
@ -15,4 +16,11 @@ where
|
|||
fn dimensions(&self, handle: &image::Handle) -> (u32, u32) {
|
||||
self.backend().dimensions(handle)
|
||||
}
|
||||
|
||||
fn draw(&mut self, handle: image::Handle, layout: Layout<'_>) {
|
||||
self.draw_primitive(Primitive::Image {
|
||||
handle,
|
||||
bounds: layout.bounds(),
|
||||
})
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue